如何在datagridview中按列名添加新单元格

时间:2013-11-08 08:44:34

标签: c# datagridview

是否可以在列名称上添加新的单元格?我怎么可能这样做?

截至目前,这是我的代码

foreach (var c in br)
        {
            dataGridView1.Columns.Add(new DataGridViewTextBoxColumn() { HeaderText = c.AccountCode });
            foreach (var r in c.TBal)
            {
                //add new cell base on c.AccountCode
            }
        }

我的br有这个数据

enter image description here

有什么想法吗?谢谢:))

我想要发生的是AccountCode应该是列,而TBal balance应该是它下面的数据等等。

1 个答案:

答案 0 :(得分:1)

我想在这里猜你想要什么。 除了Name属性之外,您可以为列名添加HeaderText属性,并使用该列名称标识来填充单元格。

{ HeaderText = c.AccountCode, Name = "colAccountCode" }

因此,我们只是说您使用名称colAccountCode作为此新列的列名。所以,您将拥有可能看起来像这样的代码;

 foreach (var c in br)
 {
    dataGridView1.Columns.Add(new DataGridViewTextBoxColumn() { HeaderText = c.AccountCode, Name = "colAccountCode" });
    int rows = dataGridView1.Rows.Count, rowCtr = 0;
    if (rows>0) // Make sure there are rows in DataGridView
       { 
         foreach (var r in c.TBal)
         {
            if (rowCtr < rows) // Make sure that rowCtr is less than Total Rows since index always starts with zero
               {
                 dataGridView1.Rows[rowCtr++].Cells["colAccountCode"].Value = r;
               }
         }
       }
    }