3

我试图DataGridView在 c# 上更改单元格的值。我什至不能在单元格中写一个“你好”。错误在哪里。缺少什么?

当我单击按钮时,没有任何变化。没有错误,没有变化。

private void button1_Click(object sender, EventArgs e)
{
    dataGridView1.ReadOnly = false;
    dataGridView1.BeginEdit(true);
    dataGridView1.Rows[0].Cells[0].Value = "Hello";
    dataGridView1[1, 1].Value = "Hello";
}
4

2 回答 2

2

好吧,不确定这是否有帮助,但试试这个:

  • 底层数据源支持编辑。
  • DataGridView控件已启用。
  • 属性值EditMode不是。EditProgrammatically
  • 单元格、行、列和控件的ReadOnly属性都设置为false

取自MSDN

于 2013-05-31T15:56:12.197 回答
0

编辑单元格值的一种方法是简单地将字符串分配给其 value 属性。

例如:如果数据网格名为grdStock,则当前单元格可以编辑如下:

grdStock.CurrentCell.Value = "100";

如果您选择了要编辑的单元格,则上述方法有效。

然而,当您需要编辑引用的单元格时,即当您告诉程序通过其单元格引用定位要编辑的单元格时,存在一种情况。

例如:

grdStock[1, grdStock.CurrentCell.RowIndex].Value = "BCS001";
grdStock[2, grdStock.CurrentCell.RowIndex].Value = "Cashew Nuts";

以上将在所选行中起作用,并且您知道要编辑的列。这肯定会编辑单元格。但是请注意,如果您的网格绑定到数据,您可能还需要一些方法来保存数据。我没有解决这个自动写回数据源的选项,因为我个人不使用绑定控件。但是出于编辑网格的目的,这非常有效。

我希望这会有所帮助,

塞缪尔

于 2013-11-05T09:18:50.937 回答