gpt4 book ai didi

c# - 如何强制刷新DataGridView 的内容?

转载 作者:太空狗 更新时间:2023-10-29 22:25:04 28 4
gpt4 key购买 nike

我想进行排序的数据 GridView 输入。以下代码片段并没有完全削减它;即使我放置了 grd.Refresh,datagridview 也不会显示其更新后的值。如果我按下箭头键并再次向上,网格正在刷新。有没有其他方法可以强制刷新到 datagridview 的内容?

using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Text;
using System.Windows.Forms;

namespace TestSortedInput
{
public partial class Form1 : Form
{
DataTable _dt = new DataTable();

public Form1()
{
InitializeComponent();

grd.AllowUserToAddRows = false;

_dt.Columns.Add("sort", typeof(int));
_dt.Columns.Add("product", typeof(string));

_dt.DefaultView.Sort = "sort";

grd.DataSource = _dt;
}

private void dataGridView1_KeyUp(object sender, KeyEventArgs e)
{
if (e.KeyCode == Keys.Insert)
{
if (e.Modifiers == 0)
{
var r = _dt.NewRow();
r["sort"] = _dt.DefaultView.Count + 1;
r["product"] = "";

_dt.Rows.Add(r);
}
else if (e.Alt)
{
var drv = this.BindingContext[_dt].Current as DataRowView;

int sort = (int)drv["sort"];

for (int i = _dt.DefaultView.Count - 1; i >= (int)drv["sort"] - 1; --i)
{
_dt.DefaultView[i]["sort"] = (int) _dt.DefaultView[i]["sort"] + 1;
}

var r = _dt.NewRow();
r["sort"] = sort;

_dt.Rows.Add(r);

grd.Refresh();
}
}
}//void
}
}

最佳答案

替换

grd.Refresh(); 

drv.EndEdit();

所选行处于编辑模式,您必须结束它才能进行排序。

关于c# - 如何强制刷新DataGridView 的内容?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1365617/

28 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com