gpt4 book ai didi

c# - 如何清除所有 datagridview 行,包括第一行(我试过 Dgv.DataSource = null; Dgv.Rows.Clear();)

转载 作者:太空宇宙 更新时间:2023-11-03 15:29:32 24 4
gpt4 key购买 nike

我是 C# 的初学者,创建了一个 DataGridView,如下所示:

private DataGridViewTextBoxColumn createText(string name, string Hname, int width)
{
DataGridViewTextBoxColumn tmt = new DataGridViewTextBoxColumn();
tmt.Name = name;
tmt.HeaderText = Hname;
tmt.Width = width;
tmt.DataPropertyName = name;
return tmt;
}

private DataGridViewComboBoxColumn PMcreateCombo(string name, int width, string item_str)
{
DataGridViewComboBoxColumn tmd = new DataGridViewComboBoxColumn();
string[] items;

items = item_str.Split(' ');
tmd.HeaderText = name;
tmd.Name = name;
//tmd.MaxDropDownItems = 4;
foreach (string str in items)
{
tmd.Items.Add(str);
}
tmd.Width = width;
tmd.DataPropertyName = name;
return tmd;
}

我想用一个numericupdown来控制列数,所以我写了这样的东西:

private void numericUD_ValueChanged(object sender, EventArgs e)
{
Dgv.DataSource = null;
Dgv.Rows.Clear();
Init();
}
private void Init()
{
SCM = new List<SCM>();
Dgv.AutoGenerateColumns = false;
Dgv.AllowUserToAddRows = false;

Dgv.Columns.Add(createText("AA", "AA", 60));
Dgv.Columns.Add(createCombo("QQ", 60, "RRR GGG BBB"));
addNewColumns();

Dgv.DataSource = Table;
}

但是当我更改numericUpDown时,AA QQ和Addnewcolumn都是在旧的之后创建的,但是如果我在functionnumericUD_ValueChanged中标记Init(),第一行(AA QQ)仍然存在,但第二行消失了。

所以我想问一下如何删除DataGridView中的所有元素,包括第一行,然后根据numericrupdown创建一个新元素

谢谢

最佳答案

清除数据源后需要刷新DataGridView。

private void numericUD_ValueChanged(object sender, EventArgs e)
{
Dgv.DataSource = null;
Dgv.refresh();
Init();
}

关于c# - 如何清除所有 datagridview 行,包括第一行(我试过 Dgv.DataSource = null; Dgv.Rows.Clear();),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34219655/

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