Previous topicNext topic
Help > 开发指南 > SanMuGrid平台编程 > 主要对象 > BaseGrid > 事件 >
AfterDataViewFilter

正常我们进行本地筛选的时候,或者用代码设置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);
}