是否可以一次删除数据网格中的所有列?
我知道我可以循环并一个一个地删除它们,或者删除整个内容并创建它。
但也可以简单地清除列并保留网格,以便用户可以重新开始。 即把它恢复到原来的状态。
好的,这是我的代码
private void PopulateGrid()
{
UserVGrid.AutoGenerateColumns = false;
UserVGrid.Columns.Clear();
List<string> _values = populate.GetVaribles;
foreach (var line in _values)
{
if (!line.Contains("Startind"))
{
string[] newline = line.Split('=');
DataGridViewColumn newColumn = new DataGridViewTextBoxColumn();
newColumn.Name = newline[0];
newColumn.HeaderText = newline[1];
newColumn.ToolTipText = newline[2];
UserVGrid.Columns.Add(newColumn);
}
}
所以让我们假设 _values 有苹果,梨作为值
运行此方法一次,我得到一个数据网格,其中包含两个名为 apple 和 pear 的列。
这次使用包含 char 和 table 的 _values 第二次运行它。
最后我得到了 4 列苹果、梨、椅子和 table 。我想要的是它第二次运行时清除网格拳头,然后应用新列。
干杯
亚伦
最佳答案
DataGridView
列集合有一个 Clear() 方法。
dataGridView1.Columns.Clear();
这不适用于绑定(bind)的数据 GridView 和自动生成的列 - 在这种情况下,只需将数据源替换为 null 或空数据源:
dataGridView1.DataSource = null;
或关闭自动生成并在代码中创建列:
dataGridView1.AutoGenerateColumns = false;
DataGridViewTextBoxColumn col = new DataGridViewTextBoxColumn();
dataGridView1.Columns.Add(col);
这些手动生成的列将被 Clear() 方法删除。
关于c# - Datagridview 删除所有列,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7430933/