以编程方式向datagrid视图添加新行

时间:2012-07-25 00:40:04

标签: c#

我有一个datagridview从数据库获取数据并向用户显示,我还有三个文本框,如果我在datgrid中选择一个已存在的行然后按文本输入值,用户可以通过该文本框将值输入到datagrid视图中它会进行更改,当我按下更改按钮时,db和datagridview中的更改都会成功 但是如果我在datagrid视图中选择一个空行并尝试输入值,我就不能将新行添加到datagrid视图中,尽管允许用户添加新行设置为true。

 private void txtName_TextChanged(object sender, EventArgs e)
{
    if (dataGridView1.SelectedRows.Count == 1)
    {
        dataGridView1.SelectedRows[0].Cells["Name"].Value = txtName.Text;
    }
}

private void txtRelation_TextChanged(object sender, EventArgs e)
{
    if (dataGridView1.SelectedRows.Count == 1)
    {
        dataGridView1.SelectedRows[0].Cells["Relation"].Value = txtRelation.Text;
    }
}
private void txtID_TextChanged(object sender, EventArgs e)
{
    if (dataGridView1.SelectedRows.Count == 1)
    {
        dataGridView1.SelectedRows[0].Cells["ID"].Value = txtID.Text;
    }

}

2 个答案:

答案 0 :(得分:0)

检查您的gridview是否只读。如果 Readonly 为true,则将其设置为false以启用用户添加新行。另一个原因可能是DataGridView的“ EditMode ”属性。如果您想允许用户添加新行,则不应该是“以编程方式编辑

答案 1 :(得分:0)

您必须双击一行才能实际创建新行。但是,如果您不希望双击的压力,可以使行选择事件在该行上执行单击