正常我們進(jìn)行本地篩選的時(shí)候,或者用代碼設(shè)置SmGrid.View.Filter來設(shè)置當(dāng)前表的本地篩選之后就會(huì)分別觸發(fā)下面兩個(gè)事件。
AfterDataViewFilter | 是 | 數(shù)據(jù) | 表篩選之后激發(fā)事件。 |
BeforeDataViewFilter | 是 | 數(shù)據(jù) | 表篩選之前激發(fā)事件。 |
在BeforeDataViewFilter事件中,我們可以根據(jù)自己的需要,設(shè)置e.Cancel=True來實(shí)現(xiàn)取消篩選。在AfterDataViewFilter,我們可能會(huì)需要針對一些表統(tǒng)計(jì)的結(jié)果重新計(jì)算。
Vb.Net |
Public Sub SmGrid1_AfterDataViewFilter(sender As Object,e As System.EventArgs) Dim tbl As SmGrid=sender Dim txtSum As SmTextBox=Proj.OpenedForms("員工管理明細(xì)").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["員工管理明細(xì)"].ControlDictionary()["SmTextBox1"] as SmTextBox; // 控件賦值 txtSum.Value = tbl.DataTableHelp.Compute("Sum(金額)", tbl.View.Filter); } |