假设程序中需要实现以下功能:下一个gridview的内容需要跟随上一个gridview中选中行变化时,很容易想到的就是添加bindingsource1_currentchanged(对于大多数人来说,都会用GridControl绑定BindingSource)事件或者gridView1_FocusedRowChanged事件,那么这两个事件有什么差别呢?
限于本人现在的新手水平,目前能够知道的是:
触发时机:bindingsource1_currentchanged,赋值时触发(例如bindingsource1.DataSource = dt),gridview换行时触发;
gridView1_FocusedRowChanged只在gridview换行时触发。
如果用bindingsource1_currentchanged事件,在用sqlmonitor之类的软件跟踪sql语句时,会发现赋值阶段会产生多条sql查询语句(因为下一个gridview的内容是根据上一个gridview的某个标识查询得到),而使用gridView1_FocusedRowChanged时,只会产生一条sql查询语句。
因此,建议初学者选用gridView1_FocusedRowChanged事件,而不是bindingsource1_currentchanged事件。
bindingsource1_currentchanged与gridView1_FocusedRowChanged的区别
最新推荐文章于 2023-05-17 12:14:32 发布