正常我们进行本地筛选的时候,或者用代码设置SmGrid.View.Filter来设置当前表的本地筛选之后就会分别触发下面两个事件。
AfterDataViewFilter | 是 | 数据 | 表筛选之后激发事件。 |
BeforeDataViewFilter | 是 | 数据 | 表筛选之前激发事件。 |
在BeforeDataViewFilter事件中,我们可以根据自己的需要,设置e.Cancel=True来实现取消筛选。在AfterDataViewFilter,我们可能会需要针对一些表统计的结果重新计算。
Vb.Net |
Public Sub SmGrid1_AfterDataViewFilter(sender As Object,e As System.EventArgs) Dim tbl As SmGrid=sender Dim txtSum As SmTextBox=Proj.OpenedForms("员工管理明细").ControlDictionary()("SmTextBox1") '控件赋值 txtSum.Value=tbl.DataTableHelp.Compute("Sum(金额)",tbl.View.Filter) End Sub |
C# |
public void SmGrid1_AfterDataViewFilter(object sender, System.EventArgs e) { SmGrid tbl = sender as SmGrid; SmTextBox txtSum = Proj.OpenedForms["员工管理明细"].ControlDictionary()["SmTextBox1"] as SmTextBox; // 控件赋值 txtSum.Value = tbl.DataTableHelp.Compute("Sum(金额)", tbl.View.Filter); } |