VS2005,C#,Windows应用程序
当用户用鼠标或方向键改变当前行位置时,我希望在改变前先判断另外2个DataGridView中的数据是否已被用户修改,如果修改了则弹出提示对话框,让用户选择是否保存数据,若用户选择“取消”则不保存并且不变换行位置,选择“是”或“否”则保存或不保存数据并允许选择至新行。
所以我希望有个行位置改变前的事件,以实现这种功能。但发现并没有这个事件,只有RowLeave和RowEnter事件,这2个都是发生后的事件,并不是发生前的事件。
当用户用鼠标或方向键改变当前行位置时,我希望在改变前先判断另外2个DataGridView中的数据是否已被用户修改,如果修改了则弹出提示对话框,让用户选择是否保存数据,若用户选择“取消”则不保存并且不变换行位置,选择“是”或“否”则保存或不保存数据并允许选择至新行。
所以我希望有个行位置改变前的事件,以实现这种功能。但发现并没有这个事件,只有RowLeave和RowEnter事件,这2个都是发生后的事件,并不是发生前的事件。
解决方案 »
- 请教大夹:win7下 wcf 自我寄宿程序员 提示错误:"此平台上不支持操作",怎么解决?
- c# 一个this属性的疑问??
- c#中利用xslt将数据导入到Excel中?
- 请问怎么在C#中调用SSIS包
- C# 关于这符串加密解密的问题?
- 图片的导入与导出,高手帮忙啊,分不多,以后补上
- C#发送的电子邮件如何带有发送人姓名
- mouseEnter事件中这行代码该怎么写?当鼠标进入功能按钮的上方时,就可给出一些提示信息
- 在VISUAL STUDIO 中,每次第一次编译每个文件时,都报错:未集成windows验证,什么原因?
- 如何用程序实现文件夹共享?请教各位高手
- 截取字符串问题
- 关于Richtextbox的问题
DataGridView绑定了强类型BindingSource绑定源,BindingSource绑定源的PositionChanged事件实现当行位置改变时检索填充符合条件的数据至另2个DataGridView。
PositionChanged事件也是发生后的事件,要是有个ing发生前的事件就好处理,可惜我一直没找到。
数据改变:CellValueChanged事件
双剑鹤壁,应该没有问题吧?
{
if (MessageBox.Show("aaa", "bbb", MessageBoxButtons.YesNo) == DialogResult.Yes)
{
e.Cancel = true;
}
}
{
if (!dataGridView2.data_changed)
{
lastrow = e.RowIndex;
}
else
{
MessageBox.Show("dataGridView2_datachanged……");
dataGridView1.ClearSelection();
dataGridView1.Rows[lastrow].Selected = true;
}
}
我知道如果用最笨的方法如:按键控制、鼠标控制、工具栏的“第一条、上一条、下一条、最后条”也控制、所有让Position值改变的地方都控制等,这样是可以实现这种功能,但这样实在太费周折了,也不科学不好维护,如果有上百个Form都要这样做,那就麻烦了。
所以如果有个绑定源BindingSource的Position值改变前ing的事件那就好统一管理和控制了,允许则改变Position值,不允许则Position值保持不变,当然DataGridView的当前行也要保持不变。