检查datagridview是否被编辑过
问题描述:
我的C#winform有一个datagridview,当我点击更新按钮时,我应该输入什么代码来检查是否有任何单元格已被编辑?检查datagridview是否被编辑过
我只需要有一个真或假。
谢谢。
============================================== =============================
我的现有代码:
#region Edit Records
private void InProSysAdministrationEventsUpdateButton_Click(object sender, EventArgs e)
{
if (MessageBox.Show("Please Click Ok to Edit the Events", "Confirmation", MessageBoxButtons.OKCancel) == DialogResult.OK)
{
ManipulateData.UpdateData(connectionString, tblconn, tblscmd, tbldataadaptor, tbldatatable, cmbuilder, "usp_readallevents", readalleventsdataGridView);
}
}
#endregion
我需要做以下:
1)编辑用户点击
2)系统检查任何细胞是否已经编辑
3)如果没有编辑单元格,它会的MessageBox.show( “不可更改完成。”)
4)否则,它会更新数据库。
答
你看过DataGridView.CellValueChanged事件吗? MSDN
将是相当简单,只写了这样的处理程序,并设置标志,或执行任何你想要的动作。
的你会如何执行,这将是一个例子:
protected override void OnLoad(EventArgs e)
{
myDataGridView.CellValueChanged += new DataGridViewCellEventHandler(
myDataGridView_CellValueChanged);
}
private void myDataGridView_CellValueChanged(
object sender, DataGridViewCellEventArgs e)
{
//some very crude examples of actions you might want to perform when the event handler is triggered.
myObject.update();
//or something else like
myObject.isUpdatable = true;
}
至于点数3,一个MsgBox可能不是告知非关键事件的用户的最佳方式。他们很可能已经知道他们没有输入任何信息,并且您可以通过标记所需的信元或其他任何方式来提供这种反馈。食物的思想。
在未来,我建议搜索MSDN你正在使用的类,并搜索事件,方法或属性的您正在寻找的类型,并查看是否有匹配。 也有很多有用的例子。
答
int x=0;
private void dataGridView1_CellEndEdit(object sender, DataGridViewCellEventArgs e)
{
x = 1;
}
if(x==1) //this means that gridView has been updated