c# - Datagridview 删除所有列

标签 c# datagridview datagridviewcolumn

是否可以一次删除数据网格中的所有列?

我知道我可以循环并一个一个地删除它们,或者删除整个内容并创建它。

但也可以简单地清除列并保留网格,以便用户可以重新开始。 即把它恢复到原来的状态。

好的,这是我的代码

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/

相关文章:

c# - NHibernate 警告 Narrowing proxy to - this operation breaks ==

C# Winforms DatagridView - 为不同的行设置不同的按钮颜色

c# - 自定义 DataGridViewCheckBoxCell 视觉更新在编辑模式下不起作用

c# - 如何在第 n 次出现时拆分字符串?

c# - 使用 Azure 表可以实现这一点吗?

c# - 带有进度条 C# 的计时器倒计时

c# - 为什么我不能清除 datagridview 控件中的行?

c# - 在datagridview c#中过滤数据

winforms - DataGridView右键菜单/复制示例?

c# - 在不影响相邻列的情况下调整 DataGridView 列的大小?