如何使用C#在DataGridView中动态添加列

7
如何使用C#在DataGridView中动态添加列
4个回答

12
例如:
        DataGridViewColumn col = new DataGridViewTextBoxColumn();
        col.HeaderText = "Hi there";
        int colIndex = grid.Columns.Add(col);

我收到“DataGridViewColumn”是一种类型,不能用作表达式的错误信息。 - Totoro53

2

如果它像其他.Net网格控件一样:

YourDataGridView.Columns.Add(New DataGridViewColumn());

1
如果您的DataGridViewColumn的CellType属性为null,则Columns.Add可能会引发异常。我认为在添加之前设置DataGridViewColumn的CellTemplate更好(CellType是CellTemplate的运行时类型),或者使用继承自DataGridViewColumn并且CellTemplate已经适当设置的类。 - Tim Goodman
@Tim Goodman - 我同意,我的示例只是基本演示它的实现方式。一个实际的实现会更加复杂。 - ChadT

1

如果你的意思是要在特定列上添加所有的值,那么这可能对你有所帮助。

试试以下提示:

for (int i=0; i< datagriview1.coulums.count -1; i++)
{
  int total + = total + datagridview1.columns[i]
    .cell[index for columns you want to add].formatedvalue.toString();  

}

textbox1.text=total;

尝试一下这段代码,它可能会对你有所帮助。

谢谢, Nico


0

我也测试了这段代码,你的意思是想要将特定列上的所有值相加,那么也许这个方法可以帮到你。 尝试一下这些提示:

gridView1.Columns.Clear();
gridView1.Columns.Add(new GridColumn() {Caption = @"Caption", FieldName = "FieldName", Name = "FieldName", Visible = true});

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接