这是我之前的一个跟进问题。你可以找到它here。如何自动结束DataGridView单元格编辑模式?
我终于解决了之前的一个问题,当我将按钮添加到DataGrid的新行中时,整个单元格将处于编辑模式,直到我单击其他单元格并填充它, /或选项卡直到行的末尾(很明显,这个不起作用),那么它将结束编辑模式。 我使用dataGridView.BeginEdit(true);
开始编辑模式,以便我可以解析文本框中的值(请参阅我的上一个问题)。因此,如果我插入另一个值并按下按钮,新值将替换先前插入的旧值,因为它目前仍处于编辑模式。 我试图使用,dataGridView.EndEdit(DataGridViewDataErrorContexts.Commit);
,cell.DataGridView.EndEdit()
和cell.DataGridView.EndEdit(DataGridViewDataErrorContexts.Commit);
但显然不会结束编辑模式:( 我想要的是当我按下按钮时,文本框内的值将被插入到第一个文本框列(这个已经工作了),然后我不必点击或填充另一列来结束编辑模式,所以我只需要在文本框中输入任何内容,然后按下按钮直到我想停止。开始填充另一列 没有人知道如何解决这个 编辑1:??你看到的差异看红色圆圈,上面一个是目前在编辑模式下(因为它有后*箭头),最下面的一个不在编辑模式(我是通过选择手动完成的)从组合框中的项目)。 这里是从我刚才的问题请我的代码:
private void button1_Click(object sender, EventArgs e)
{
this.surat_jalanDataGridView.AllowUserToAddRows = true;
string tokNum = this.textBox1.Text;
if (this.textBox1.Text != "")
{
foreach (DataGridViewRow sjRow in this.surat_jalanDataGridView.Rows)
{
int RowIndex = surat_jalanDataGridView.RowCount - 1;
DataGridViewRow R = surat_jalanDataGridView.Rows[RowIndex];
DataTable table = new DataTable();
DataRow newRow = table.NewRow();
table.Rows.Add(newRow);
DataGridViewCell cell = R.Cells[2];
this.surat_jalanDataGridView.CurrentCell = cell;
this.surat_jalanDataGridView.BeginEdit(true);
R.Cells[2].Value = tokNum;
cell.DataGridView.EndEdit(DataGridViewDataErrorContexts.Commit);
}
}
this.surat_jalanDataGridView.EndEdit(DataGridViewDataErrorContexts.Commit);
}
编辑2:所以,我将它从数据源的surat_jalan放到我的Windows窗体。然后它自动成为与属性名surat_jalanDataGridView
和数据源的数据网格是surat_jalanBindingSource
你也可以在你的winform上使用'this.Validate' – 2012-01-05 03:18:29
我已经试过了Gabriel,但那也行不通。但是,无论如何感谢:D – 2012-01-05 03:41:24
为什么你在开始时总是要求结束?您无需进入编辑模式即可设置您的值。编辑模式是让用户输入一个输入。 – 2012-01-05 04:18:47