【问题标题】:Can I assign the values to datagridview cells at a time?我可以一次将值分配给 datagridview 单元格吗?
【发布时间】:2010-03-06 12:20:09
【问题描述】:

我可以一次将值分配给 datagridview 单元格吗

datagridview1[0,0].value = "零列零行"

datagridview1[1,0].value = "第一列零行"

datagridview1[0,1].value = "零列第一行"

datagridview1[1,1].value = "第一列第一行"

它给出错误索引超出范围。必须是非负数且小于集合的大小。

【问题讨论】:

    标签: c# .net winforms datagridview


    【解决方案1】:

    试试这个:

        // Define 
        dataGridView1.ColumnCount = 2;
        dataGridView1.Rows.Add();
    
        // Assign
        dataGridView1[0, 0].Value = "zero column zero row";
        dataGridView1[1, 0].Value = "first column zero row";
        dataGridView1[0, 1].Value = "zero column first row";
        dataGridView1[1, 1].Value = "first column first row";
    

    幕后有一些“魔法”。根据MSDN document for the Cells property

    如果该行不包含任何单元格 当访问该属性时,一个新的 空的 DataGridViewCellCollection 将 通过调用 CreateCellsInstance 方法。

    通过指定ColumnCount 并调用Rows.Add 方法,DataGridView 有足够的元信息在直接访问 Cells 属性时自动创建新行。

    【讨论】:

    • 好的。它可以工作......但是datagridview不会根据我们的代码动态设置它的行数和列数吗?任何属性或任何其他代码都可以做到这一点?
    • 是的,你是对的,所以你可以做的是,将整个代码移动到网格视图的数据绑定事件中,然后先在行上放置一个 for 循环,然后在列上放置你想要做的事情;)
    猜你喜欢
    • 2018-08-05
    • 1970-01-01
    • 2010-11-29
    • 1970-01-01
    • 2020-11-15
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多