以编程方式将新行添加到数据网格视图
Posted
技术标签:
【中文标题】以编程方式将新行添加到数据网格视图【英文标题】:adding new row to datagrid view programmatically 【发布时间】:2012-07-25 00:40:04 【问题描述】:我有一个从数据库中获取数据并显示给用户的 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;
【问题讨论】:
你的 DataGridView 是如何绑定的? @DavidB 抱歉,我对此完全陌生,我正在对现有代码进行修改,这是什么意思?我的 DataGridView 从现有数据库中获取数据 @DavidB 它绑定到数据表 【参考方案1】:检查您的网格视图是否为只读。如果 Readonly 为 true,则将其设置为 false 以允许用户添加新行。另一个原因可能是 DataGridView 的“EditMode”属性。如果您想允许用户添加新行,则不应为“以编程方式编辑”
【讨论】:
readonly 是 false 编辑模式是在击键或 f2 时编辑并允许用户添加新行设置为 true【参考方案2】:您必须双击一行才能真正创建一个新行。但是,如果您不想承受双击的压力,您可以让行选择事件在行上执行单击。
【讨论】:
以上是关于以编程方式将新行添加到数据网格视图的主要内容,如果未能解决你的问题,请参考以下文章