ColDataChanged數(shù)據(jù)變更之后發(fā)生的事件。與之相對的ColDataChanging事件,可以設置e.Cancel=true來取消當前修改。
ColDataChanged | 是 | 數(shù)據(jù) | 數(shù)據(jù)變更之后發(fā)生的事件。 |
ColDataChanging | 是 | 數(shù)據(jù) | 數(shù)據(jù)變更之前發(fā)生的事件。 |
下面是e參數(shù)可以獲得的對象清單
Vb.Net |
Public Sub SmGrid1_ColDataChanged(sender As Object,e As sanMuSoft.CS.WinForm.ColDataEventArgs) Dim tbl As SmGrid=sender 'ColData變更事件,包含了下面這些對象 Dim dt As DataTableHelp=e.DataTableHelp Dim col As ColData=e.ColData Dim dr As RowData=e.RowData Dim objOld As Object=e.OldValue Dim objNew As Object=e.NewValue Dim frm As BaseForm=e.Form End Sub |
C# |
public void SmGrid1_ColDataChanged(object sender, sanMuSoft.CS.WinForm.ColDataEventArgs e) { SmGrid tbl = sender as SmGrid; // ColData變更事件,包含了下面這些對象 DataTableHelp dt = e.DataTableHelp; ColData col = e.ColData; RowData dr = e.RowData; object objOld = e.OldValue; object objNew = e.NewValue; BaseForm frm = e.Form; } |
示例1:數(shù)量或單價有變量時自動重新計算金額列
Vb.Net |
Public Sub ColDataChanged(sender As Object,e As sanMuSoft.CS.WinForm.ColDataEventArgs) Dim strColName As String=e.ColData.Name Select Case strColName Case "數(shù)量","單價" '數(shù)量或單價有變量時自動重新計算 e.RowData("金額")=e.RowData("數(shù)量")*e.RowData("單價") Case Else End Select End Sub |
C# |
public void ColDataChanged(object sender, sanMuSoft.CS.WinForm.ColDataEventArgs e) { string strColName = e.ColData.Name; switch (strColName) { case "數(shù)量": case "單價": { // 數(shù)量或單價有變量時自動重新計算 e.RowData["金額"] = e.RowData["數(shù)量"].CType<int>() * e.RowData["單價"].CType<decimal>(); break; } default: { break; } } } |
示例2:如果修改的是“客戶”列,則取消變更。
Vb.Net |
|
C# |
|