我有一个用C#编写的Winforms应用程序。
在DataGridView中,我设置了一个名为' Name'的列(DataGridViewTextBoxColumn)。 to ReadOnly = true。
当用户右键点击'名称'列 - >显示表单以设置值 - >我希望应用程序知道:Cell的名称'名称'列已更改。
我尝试过很多但不能做的事情,比如CellEndEdit,CellValueChanged
我只对在“计划”中捕获用户对数据的更改感兴趣。 ReadOnly = true的列。
哪个是最好的事件? 我附上如下信息:
答案 0 :(得分:0)
CellEndEdit
和CellValueChanged
属性仅在用户手动更改DataGridView的内容时才有效。您要做的只是读取Set_Value_Of_Name表单中TextBox的值,并将其与DataGridView单元格的值进行比较。
添加以下行:
btnOK.Click += (senderq, eq) =>
{
frmValueOfName.Close();
result = true;
//Add this line
if (txtValue.Text != dataGridView[currentMouseOverCol,currentMouseOverRow].Value.ToString())
{
MessageBox.Show("Value has been changed!");
}
};