上下表关联处理

我们经常会遇到这样的情况,在一个窗体中有一个上表,一个下表。
下表随着上表的选择变化进行相应的更新,经过几次的修改后,现在把我的方法拿来大家探讨。

private int mainRowIndex;        //主表格中当前的行号默认设为-1
private int funRowIndex;        //记录子表格的当前行号.默认设为-1

private void gridMaster_SelectionChanged(object sender, EventArgs e)
        {
            if (gridMaster.CurrentCell != null)
            {
                if (mainRowIndex != gridMaster.CurrentCell.RowIndex)
                {
                    //执行相应的函数,更新下表内容
                    mainRowIndex = gridMaster.CurrentCell.RowIndex;
                }
            }
        }       

有朋友可能会问,为什么要设一个index呢,直接在 SelectionChanged中调用不行吗?
其实你在用户进行绑定时,系统会触发多次Selectionchanged事件,如果不用index来判断是否为行号有改变。
那么系统调用多么你所需执行的函数。从而降低了系统的速度。

其实提高系统性能,需处处注意,否则系统很慢将无法找原因。

posted on 2008-03-20 17:39  煎蛋  阅读(192)  评论(0编辑  收藏  举报

导航