请问怎么获取datagridview中编辑状态的单元格的值?

我希望可以在输入时通过对比正在输入的值的数据类型与数据源中该字段的数据类型,动态判断输入字符的数据类型是否正确;
另外请问一下,怎么在datagridview中实现联想输入,比如在某一列输入“五”,那么数据源中该列有“五”的内容会在单元格下方以下拉框的形式显示出来,点击选项可以添加到单元格中;

简单说下

默认情况下,用户可以通过在当前 DataGridView 文本框单元格中键入或按 F2 键来编辑该单元格的内容。当满足下面的所有条件时,单元格将进入编辑模式:
能对基础数据源进行编辑。
DataGridView 控件已启用。
EditMode 属性值不为 EditProgrammatically。
单元格、行、列和控件的 ReadOnly 属性都设置为 false。

在编辑模式中,用户可以更改单元格的值,并可按 Enter 键提交更改,或按 Esc 键将单元格恢复为其原始值。

可以配置 DataGridView 控件,以使单元格在成为当前单元格时立即进入编辑模式。在此情况下 Enter 和 Esc 键的行为不变,但在提交或恢复值后单元格保持在编辑模式中。也可以配置控件,以使仅当用户在单元格中键入或仅当用户按 F2 键时,单元格才进入编辑模式。最后,可以防止单元格进入编辑模式,除非调用 BeginEdit 方法。

接下来就是DataGridView.CellEndEdit 事件的表演时间(在为当前选定的单元格停止编辑模式时发生)
如下:
protect void dataGridView1_CellEndEdit(object sender, DataGridViewCellEventArgs e)
{
//我这里假设你需要的数据类型为 string 那么就可以用下面方法或得到当前所编辑单元格
//的值,然后你就可以操作数据库进行数据添加了
string strData = (string)dataGridView1.Rows[e.RowIndex].Cells[e.ColumnIndex].Value;

// 更改数据到数据库
// DbClass.GetInstance().Add(strData);
}

不知是否能解决您的问题。
温馨提示:内容为网友见解,仅供参考
无其他回答
相似回答