如何在 C# 中删除动态创建的 datagridview 列?

How to delete dynamically created datagridview columns in c#?

我无法删除我在 运行 时间内创建的列。如何删除动态创建的列?

下面是在按钮中创建列的代码:

           //creating new column
            DataGridViewTextBoxColumn column1 = new DataGridViewTextBoxColumn();
            column1.ReadOnly = false;
            column1.Name = "column"+ incrementcount;
            column1.Resizable = DataGridViewTriState.True;
            //column1.SortMode = DataGridViewColumnSortMode.Automatic;
            column1.HeaderCell.Style.Alignment = DataGridViewContentAlignment.MiddleCenter;
            column1.DefaultCellStyle.Alignment = DataGridViewContentAlignment.MiddleCenter;
            column1.HeaderText = "Column" + incrementcount;                
            column1.Width = 100;
            dataGridView4.AutoGenerateColumns = false;
            dataGridView4.Columns.Add(column1);

我试图像这样删除该列,我也试图隐藏该列:

           // dataGridView4.Columns[poss].Visible = false;
           dataGridView4.Columns.Remove(dataGridView4.Columns[positionindex].HeaderText);
           dataGridView4.Refresh();

但列仍然可见。如何删除它?

我建议使用:

  • 禁用列的可见性标志
  • 使用 DataGridView.Columns.RemoveAt(YourIndex)

要获取列的索引,请使用:

DataGridView.Columns["YourColumn"].Index;