繁体   English   中英

在C#Datagridview中以编程方式在指定位置添加新列

[英]Add new column at specified position programmatically in C# Datagridview

我有一个5(0-5)列的datagridview。 我从创建的哈希表中检索的所有行值。 现在我设置了一个条件,表明第4列是否包含哈希表中的空值,然后在第4列旁边添加新列,这使得新添加的列索引位于第5位,之前第5列的哈希表值更改为第7列。

我做这样的代码:

    int number = dataGridView1.Rows.Add();
    dataGridView1.Rows[number].Cells[0].Value = result;                                 //id       
    dataGridView1.Rows[number].Cells[1].Value = newAddress;                             //ip    
    dataGridView1.Rows[number].Cells[2].Value = (string)((Hashtable)ht[1])["value"];    //name
    dataGridView1.Rows[number].Cells[3].Value = (string)((Hashtable)ht[2])["value"];    //description
    if (!ht.ContainsValue(3))
        {
          // Create a Save button column
          DataGridViewImageButtonSaveColumn columnSave = new DataGridViewImageButtonSaveColumn();

          // Set column values
          columnSave.Name = "SaveButton";
          columnSave.HeaderText = "";

          //Add the columns to the grid
          dataGridView1.Rows[number].Cells[4].ReadOnly = false;
          dataGridView1.Columns[5].Add(columnSave);    //im not sure about this codes
          dataGridView1.Rows[number].Cells[6].Value = (string)((Hashtable)ht[4])["value"];    //count

        } 
        else
        {
          dataGridView1.Rows[number].Cells[4].Value = (string)((Hashtable)ht[3])["value"];    //location
          dataGridView1.Rows[number].Cells[5].Value = (string)((Hashtable)ht[4])["value"];    //count
        }

但是,我不确定我是否正确行事,因为我在评论的行中收到错误

        dataGridView1.Columns[5].Add(columnSave);    //im not sure about this codes

好像这个代码错了。 任何人都可以建议吗?

试试dataGridView1.Columns.Insert(5, columnSave); 代替。

MSDN参考: DataGridViewColumnCollection.Insert方法

将复选框插入数据网格的某一列的简单方法:

DataGridViewCheckBoxColumn chk = new DataGridViewCheckBoxColumn();

dataGridView1.Columns.Insert(**certain column number**, chk);

例如,如果要向第1列添加复选框,请键入

dataGridView1.Columns.Insert(0, chk); 

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM