如何清除包括第一行在内的所有datagridview行(我尝试过Dgv.DataSource=null;Dgv.rows
本文关键字:Dgv rows null datagridview DataSource 包括第 清除 何清除 一行 | 更新日期: 2023-09-27 18:26:27
我是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;
}
但当我更改数字UpDown时,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();
}