常用事件
事件名稱 | 是否常用 | 分類 | 描述 |
ChangeEdit | 是 | 編輯 | 在編輯器內(nèi)容更改后,在編輯模式下激發(fā)。當(dāng)網(wǎng)格處于編輯模式且編輯器的內(nèi)容更改時,將觸發(fā)此事件。這可能是由于用戶在編輯器中鍵入或在下拉列表中選擇新項目造成的。觸發(fā)此事件時,新編輯器內(nèi)容尚未應(yīng)用于表格單元。您可以使用BaseGrid.Editor屬性檢查新內(nèi)容。 |
KeyDownEdit | 是 | 編輯 | 當(dāng)用戶按鍵時,在編輯模式下激發(fā)。KeyDownEdit事件對應(yīng)于System.Windows.Forms.Control的KeyDown事件,除非它在表格處于編輯模式時觸發(fā)(在這種情況下,接收鍵的控件是編輯器,而不是網(wǎng)格本身)。 編輯器有三種模式:文本、下拉組合或下拉列表。使用的模式由BaseGrid.Cols("列名稱").ComboList屬性決定。 使用文本編輯器或下拉組合進(jìn)行編輯時,可以通過使用BaseGrid.Editor來設(shè)置或檢索編輯器的內(nèi)容。獲取BaseGrid.Editor編輯器對象時,請將其強(qiáng)制轉(zhuǎn)換為正確的控件類型。 |
KeyPressEdit | 是 | 編輯 | 當(dāng)用戶按下字符鍵時,在編輯模式下激發(fā)。KeyPressEdit事件對應(yīng)于System.Windows.Forms.Control的KeyPress事件,除非它在表格處于編輯模式時觸發(fā)(在這種情況下,接收鍵的控件是編輯器,而不是網(wǎng)格本身)。 編輯器有三種模式:文本、下拉組合或下拉列表。使用的模式由BaseGrid.Cols("列名稱").ComboList屬性決定。 使用文本編輯器或下拉組合進(jìn)行編輯時,可以通過使用BaseGrid.Editor來設(shè)置或檢索編輯器的內(nèi)容。獲取BaseGrid.Editor編輯器對象時,請將其強(qiáng)制轉(zhuǎn)換為正確的控件類型。 |
KeyUpEdit | 是 | 編輯 | 當(dāng)用戶釋放密鑰時,在編輯模式下激發(fā)。KeyUpEdit事件對應(yīng)于System.Windows.Forms.Control的KeyUp事件,除非它在表格處于編輯模式時觸發(fā)(在這種情況下,接收鍵的控件是編輯器,而不是網(wǎng)格本身)。 編輯器有三種模式:文本、下拉組合或下拉列表。使用的模式由BaseGrid.Cols("列名稱").ComboList屬性決定。 使用文本編輯器或下拉組合進(jìn)行編輯時,可以通過使用BaseGrid.Editor來設(shè)置或檢索編輯器的內(nèi)容。獲取BaseGrid.Editor編輯器對象時,請將其強(qiáng)制轉(zhuǎn)換為正確的控件類型。 |
LeaveEdit | 是 | 編輯 | 在控件離開編輯模式后激發(fā)。 |
StartEdit | 是 | 編輯 | 在控件進(jìn)入編輯模式之前激發(fā)。 它允許您通過將Cancel參數(shù)設(shè)置為true來防止編輯,或者重新設(shè)置BaseGrid.ComboList屬性或重新設(shè)置BaseGrid.EditMask屬性。如果整列的選項或掩碼相同,則可以使用BaseGrid.Cols("列名稱").ComboList和BaseGrid.Cols("列名稱").EditMask更有效地設(shè)置它們。在這種情況下,根本不需要處理StartEdit事件。 |
BeforeMenuCommandClick | 是 | 菜單 | 在表菜單命令單擊之前激發(fā)。這個只適合在表屬性里面的表事件里面寫代碼。如果是窗體表事件,此事件不生效。 |
BeforeShowContextMenu | 是 | 菜單 | 顯示表的右鍵菜單之前觸發(fā)。我們可以在此事件中修改顯示的菜單。 |
CommandStateQuery | 是 | 菜單 | 定時檢測菜單命令的狀態(tài)。這個只適合在表屬性里面的表事件里面寫代碼。如果是窗體表事件,此事件不生效。 |
MenuCommandClick | 是 | 菜單 | 在表菜單命令單擊之前激發(fā)。這個只適合在表屬性里面的表事件里面寫代碼。如果是窗體表事件,此事件不生效。 |
BeforeDoubleClick | 是 | 操作 | 在網(wǎng)格處理雙擊事件之前激發(fā)。 |
BeforeMouseDown | 是 | 操作 | 在網(wǎng)格處理MouseDown事件之前激發(fā)。 |
MouseClick | 是 | 操作 | 用鼠標(biāo)單擊控件時發(fā)生。 |
MouseDoubleClick | 是 | 操作 | 用鼠標(biāo)雙擊控件時發(fā)生。 |
CellButtonClick | 是 | 常用 | 在用戶單擊單元格按鈕后激發(fā)。通常,此事件用于彈出單元格的自定義編輯器(例如,用于選擇顏色、日期、文件、圖片、自定義輸入窗口等的對話框)。默認(rèn)情況下,單元格編輯按鈕顯示在單元格的右側(cè),帶有省略號標(biāo)題(“...”)。 |
OwnerDrawCell | 是 | 常用 | 當(dāng)DrawMode屬性設(shè)置為OwnerDraw時,在網(wǎng)格繪制單元格之前激發(fā)。該事件允許三種主要類型的自定義: 1、更改文本和圖像參數(shù)的值以修改網(wǎng)格顯示的值。例如,您可以使用這種類型的自定義將密碼字符串替換為星號。 2、更改“樣式”特性以使用與默認(rèn)情況下網(wǎng)格選擇的樣式不同的樣式顯示單元格。例如,您可以使用這種類型的自定義來提供條件格式。 3、使用圖形和邊界參數(shù),自己繪制單元。以這種方式繪制單元格時,可以調(diào)用OwnerDrawCellEventArgs。DrawCell成員強(qiáng)制網(wǎng)格繪制單元格的特定部分,同時代碼繪制其他部分。例如,可以繪制自定義背景,然后調(diào)用DrawCell讓網(wǎng)格繪制單元格邊框和內(nèi)容。 當(dāng)網(wǎng)格自動調(diào)整行或列的大小時,也會觸發(fā)OwnerDrawCell事件(請參見BaseGrid.AutoSizeRows和BaseGrid.AutoSizeCols方法)。之所以這樣做,是因為網(wǎng)格需要使用與渲染單元相同的文本、圖像和樣式參數(shù)來測量單元。在這些情況下,測量參數(shù)設(shè)置為true,邊界矩形為空。 |
SetupEditor | 是 | 常用 | 在網(wǎng)格初始化單元格編輯器后激發(fā),以允許其他自定義初始化。 |
VisibleChanged | 是 | 屬性已更改 | 在更改控件的可見性時發(fā)生。 |
AfterDataViewFilter | 是 | 數(shù)據(jù) | 表篩選之后激發(fā)事件。 |
AfterDataViewSort | 是 | 數(shù)據(jù) | 表排序之后激發(fā)事件。 |
AfterLoaded | 是 | 數(shù)據(jù) | 數(shù)據(jù)加載之后激發(fā)。 |
BeforeDataViewFilter | 是 | 數(shù)據(jù) | 表篩選之前激發(fā)事件。 |
BeforeDataViewSort | 是 | 數(shù)據(jù) | 表排序之前激發(fā)事件。 |
BeforeSave | 是 | 數(shù)據(jù) | 數(shù)據(jù)表保存之前發(fā)生的事件。 |
BeforeSaveRowData | 是 | 數(shù)據(jù) | 數(shù)據(jù)行保存之前發(fā)生的事件 |
ColDataChanged | 是 | 數(shù)據(jù) | 數(shù)據(jù)變更之后發(fā)生的事件。 |
ColDataChanging | 是 | 數(shù)據(jù) | 數(shù)據(jù)變更之前發(fā)生的事件。 |
CurrentChanged | 是 | 數(shù)據(jù) | 表的當(dāng)前行變更事件。 |
PositionChanged | 是 | 數(shù)據(jù) | 表的當(dāng)前位置變更事件。此事件跟CurrentChanged事件效果類似。 |
RowDataAdded | 是 | 數(shù)據(jù) | 數(shù)據(jù)行增加之后發(fā)生的事件。 |
RowDataAdding | 是 | 數(shù)據(jù) | 數(shù)據(jù)行新增之前發(fā)生的事件。 |
RowDataChecked | 是 | 數(shù)據(jù) | 數(shù)據(jù)行選中之后發(fā)生的事件。 |
RowDataChecking | 是 | 數(shù)據(jù) | 數(shù)據(jù)行選中之前發(fā)生的事件。 |
RowDataDeleted | 是 | 數(shù)據(jù) | 數(shù)據(jù)行刪除之后發(fā)生的事件。 |
RowDataDeleting | 是 | 數(shù)據(jù) | 數(shù)據(jù)行刪除之前發(fā)生的事件。 |
RowDataLockedChanged | 是 | 數(shù)據(jù) | 數(shù)據(jù)行鎖定之后發(fā)生的事件。 |
RowDataLockedChanging | 是 | 數(shù)據(jù) | 數(shù)據(jù)行鎖定之前發(fā)生的事件。 |
ValidateEdit | 是 | 數(shù)據(jù) | 在編輯器仍處于活動狀態(tài)時,在控件退出單元格編輯模式之前激發(fā)。 |
AfterEdit | 否 | 編輯 | 單元格內(nèi)容編輯之后激發(fā)。如果用戶按ESC鍵取消編輯,則不會觸發(fā)此事件。每當(dāng)網(wǎng)格離開編輯模式時,即使編輯已取消,也會觸發(fā)LeaveEdit事件。 |
BeforeEdit | 否 | 編輯 | 此事件不僅在網(wǎng)格即將進(jìn)入編輯模式時觸發(fā)。它在繪制單元格時也會激發(fā),以支持繪制編輯器的下拉按鈕。 |
CellChanged | 否 | 編輯 | 單元格內(nèi)容更改后激發(fā)。此事件允許您在單元格內(nèi)容發(fā)生更改時執(zhí)行處理,而不管它們是如何更改的(例如,用戶在單元格中鍵入數(shù)據(jù),從數(shù)據(jù)庫加載數(shù)據(jù),或通過代碼將數(shù)據(jù)分配給網(wǎng)格)。 此事件可用于提供條件格式和動態(tài)數(shù)據(jù)摘要,每當(dāng)數(shù)據(jù)發(fā)生更改時,這些內(nèi)容都會自動更新。 此事件在綁定和未綁定模式下激發(fā)。在某些情況下,數(shù)據(jù)源對象可能會通知表格當(dāng)前行中的某些數(shù)據(jù)已更改,而不指定更改的列。在這種情況下,Col參數(shù)將設(shè)置為-1。事件處理程序應(yīng)準(zhǔn)備好處理這種情況,而不會引發(fā)異常。 |
BeforeCollapse | 否 | 操作 | 在折疊或展開節(jié)點行之前激發(fā)。 |
AfterSubtotal | 否 | 統(tǒng)計 | 將小計行添加到網(wǎng)格后激發(fā)。 |
BeforeSubtotal | 否 | 統(tǒng)計 | 在將小計行添加到網(wǎng)格之前激發(fā)。 |
AfterRowColChange | 否 | 選擇區(qū)域 | 由于用戶操作(鼠標(biāo)或鍵盤)或通過代碼,此事件在Row或Col屬性更改之前觸發(fā)。它允許您顯示有關(guān)當(dāng)前選定行、列或單元格的其他信息。要執(zhí)行驗證或防止選擇某些單元格,請改用BeforeRowColChange和BeforeSelChange事件。 |
AfterSelChange | 否 | 選擇區(qū)域 | 由于用戶操作(鼠標(biāo)或鍵盤)或通過代碼,在RowSel或ColSel屬性更改后觸發(fā)此事件。如果要顯示有關(guān)當(dāng)前選擇的其他信息,此事件非常有用。要執(zhí)行驗證或防止選擇某些單元格,請改用BeforeRowColChange和BeforeSelChange事件。 |
BeforeRowColChange | 否 | 選擇區(qū)域 | 由于用戶操作或通過代碼,此事件在Row或Col屬性更改之前觸發(fā)。它允許您阻止選擇某些單元格,從而在網(wǎng)格上創(chuàng)建“受保護(hù)”的范圍。BeforeRowColChange僅在行或列屬性即將更改時激發(fā)。要檢測擴(kuò)展選擇,還需要處理BeforeSelChange事件。 |
BeforeSelChange | 否 | 選擇區(qū)域 | 由于用戶操作或通過代碼,此事件在RowSel和ColSel屬性更改之前觸發(fā)。它允許您阻止選擇某些單元格,從而在網(wǎng)格上創(chuàng)建“受保護(hù)”的范圍。為了防止選擇范圍,還需要處理BeforeRowColChange事件,該事件在行和列屬性更改之前觸發(fā)。 |
EnterCell | 否 | 選擇區(qū)域 | 由于用戶操作(鼠標(biāo)或鍵盤)或通過代碼,此事件在光標(biāo)進(jìn)入當(dāng)前單元格之前觸發(fā)。 |
LeaveCell | 否 | 選擇區(qū)域 | 在由于用戶操作(鼠標(biāo)或鍵盤)或通過代碼,此事件在光標(biāo)離開當(dāng)前單元格之前觸發(fā)。 |
MouseEnterCell | 否 | 選擇區(qū)域 | 當(dāng)鼠標(biāo)進(jìn)入單元格時激發(fā)。 |
MouseLeaveCell | 否 | 選擇區(qū)域 | 當(dāng)鼠標(biāo)離開單元格時激發(fā)。 |
RowColChange | 否 | 選擇區(qū)域 | 當(dāng)由于用戶操作(鼠標(biāo)或鍵盤)或通過代碼更改Row或Col屬性時,RowColChange將觸發(fā)。當(dāng)選擇更改(RowSel或ColSel屬性)但活動單元格(Row,Col)保持不變時,不會觸發(fā)此事件。 |
SelChange | 否 | 選擇區(qū)域 | 由于用戶操作(鼠標(biāo)或鍵盤)或通過代碼,在Row, Col, RowSel, 或ColSel屬性更改后觸發(fā)SelChange。當(dāng)用戶用鼠標(biāo)擴(kuò)展選擇時,此事件也會觸發(fā)。 |
不常用事件
事件名稱 | 是否常用 | 分類 | 描述 |
Move | 否 | 布局 | 在移動控件時發(fā)生。 |
AfterCollapse | 否 | 操作 | 在折疊或展開節(jié)點行后激發(fā)。 |
Click | 否 | 操作 | 單擊組件時發(fā)生。 |
DoubleClick | 否 | 操作 | 雙擊組件時發(fā)生。 |
GetCellErrorInfo | 否 | 錯誤信息 | 當(dāng)錯誤為真且控件需要單元格的錯誤信息時激發(fā)。 |
GetEditorErrorInfo | 否 | 錯誤信息 | 當(dāng)錯誤設(shè)置為true且編輯器驗證失敗時激發(fā)。 |
GetRowErrorInfo | 否 | 錯誤信息 | 當(dāng)錯誤為true且控件需要某行的錯誤信息時激發(fā)。 |
GridError | 否 | 錯誤信息 | 在數(shù)據(jù)源報告錯誤條件后激發(fā)。 |
BeforePageBreak | 否 | 打印 | 打印控件時激發(fā),以提供對分頁符的控制。 |
BeginPrint | 否 | 打印 | 在網(wǎng)格開始打印之前激發(fā)。 |
EndPrint | 否 | 打印 | 在網(wǎng)格完成打印后激發(fā)。 |
PrintPage | 否 | 打印 | 在網(wǎng)格完成打印頁面后激發(fā)。 |
KeyDown | 否 | 鍵 | 在首次按下某個鍵時發(fā)生。 |
KeyPress | 否 | 鍵 | 在控件具有焦點并且用戶按下并釋放某個鍵后發(fā)生。 |
KeyUp | 否 | 鍵 | 在釋放鍵時發(fā)生。 |
Enter | 否 | 焦點 | 在控件成為該窗體的活動控件時發(fā)生。 |
GotFocus | 否 | 焦點 | 在控件獲得焦點時發(fā)生。 |
Leave | 否 | 焦點 | 當(dāng)控件不再是窗體的活動控件時發(fā)生。 |
LostFocus | 否 | 焦點 | 在控件失去焦點時發(fā)生。 |
AfterFilter | 否 | 排序篩選 | 在將列過濾器應(yīng)用于網(wǎng)格后激發(fā)。 |
AfterSort | 否 | 排序篩選 | 單擊列標(biāo)題對列排序后激發(fā)。 |
BeforeFilter | 否 | 排序篩選 | 在將列過濾器應(yīng)用于網(wǎng)格之前激發(fā)。 |
BeforeSort | 否 | 排序篩選 | 在通過單擊列標(biāo)題對列進(jìn)行排序之前激發(fā)。 |
ComboCloseUp | 否 | 其他 | 當(dāng)編輯器的下拉部分關(guān)閉時,在編輯模式下激發(fā)。 |
ComboDropDown | 否 | 其他 | 當(dāng)編輯器的下拉部分打開時,在編輯模式下激發(fā)。 |
CustomizeFilterEditor | 否 | 其他 | 在創(chuàng)建條件篩選器的值編輯器之前激發(fā)。 |
GetLocalizedString | 否 | 其他 | 當(dāng)字符串需要在顯示前本地化時激發(fā)。 |
SetUnboundValue | 否 | 其他 | 當(dāng)網(wǎng)格需要在未綁定單元格中存儲數(shù)據(jù)時激發(fā)。 |
ShowScrollTip | 否 | 其他 | 在顯示垂直滾動提示之前激發(fā)。 |
DataBindingComplete | 否 | 屬性已更改 | 在數(shù)據(jù)綁定操作完成后激發(fā)。 |
DataMemberChanged | 否 | 屬性已更改 | 當(dāng)DataMember屬性的值更改時激發(fā)。 |
DataSourceChanged | 否 | 屬性已更改 | 當(dāng)數(shù)據(jù)源屬性的值更改時激發(fā)。 |
EnabledChanged | 否 | 屬性已更改 | 在更改控件的啟用狀態(tài)時發(fā)生。 |
MouseDown | 否 | 鼠標(biāo) | 當(dāng)鼠標(biāo)指針在組件上方并按下鼠標(biāo)按鈕時發(fā)生。 |
MouseEnter | 否 | 鼠標(biāo) | 在鼠標(biāo)進(jìn)入控件的可見部分時發(fā)生。 |
MouseHover | 否 | 鼠標(biāo) | 當(dāng)鼠標(biāo)在控件內(nèi)保持靜止?fàn)顟B(tài)達(dá)一段時間時發(fā)生。 |
MouseLeave | 否 | 鼠標(biāo) | 在鼠標(biāo)離開控件的可見部分時發(fā)生。 |
MouseMove | 否 | 鼠標(biāo) | 鼠標(biāo)指針移過組件時發(fā)生。 |
MouseUp | 否 | 鼠標(biāo) | 在鼠標(biāo)指針在組件上方并釋放鼠標(biāo)按鈕時發(fā)生。 |
MouseWheel | 否 | 鼠標(biāo) | 在控件有焦點的同時鼠標(biāo)輪移動時發(fā)生。 |
AfterDataRefresh | 否 | 數(shù)據(jù) | 在任何數(shù)據(jù)源更改通知后激發(fā)。 |
AfterDeleteRow | 否 | 數(shù)據(jù) | 在用戶刪除一行或多行后激發(fā)。 |
BeforeDeleteRow | 否 | 數(shù)據(jù) | 在用戶刪除行之前激發(fā)。 |
CellChecked | 否 | 數(shù)據(jù) | 在用戶選中或取消選中單元格中的復(fù)選框后激發(fā)。 |
GetUnboundValue | 否 | 數(shù)據(jù) | 當(dāng)網(wǎng)格需要檢索未綁定單元格的數(shù)據(jù)時激發(fā)。 |
GridChanged | 否 | 數(shù)據(jù) | 當(dāng)網(wǎng)格或其內(nèi)容更改時激發(fā)。 |
AfterDragColumn | 否 | 拖放 | 在用戶完成拖動列后激發(fā)。 |
AfterDragRow | 否 | 拖放 | 在用戶完成拖動行后激發(fā)。 |
AfterFreezeColumn | 否 | 拖放 | 通過拖動凍結(jié)列分隔符凍結(jié)列后激發(fā)。 |
AfterFreezeRow | 否 | 拖放 | 通過拖動凍結(jié)行分隔符凍結(jié)行后激發(fā)。 |
AfterResizeColumn | 否 | 拖放 | 通過拖動列標(biāo)題調(diào)整列大小后激發(fā)。 |
AfterResizeRow | 否 | 拖放 | 通過拖動行標(biāo)題調(diào)整行大小后激發(fā)。 |
AfterScroll | 否 | 拖放 | 在網(wǎng)格滾動后激發(fā)。此事件允許您防止用戶在對當(dāng)前選擇執(zhí)行操作時滾動網(wǎng)格??梢酝ㄟ^設(shè)置e.Cancel=True防止用戶滾動滾動條。 |
BeforeAutosizeColumn | 否 | 拖放 | 在雙擊列標(biāo)題自動調(diào)整列大小之前激發(fā)。 |
BeforeAutosizeRow | 否 | 拖放 | 在雙擊行標(biāo)題自動調(diào)整行大小之前激發(fā)。 |
BeforeDragColumn | 否 | 拖放 | 當(dāng)用戶開始拖動列時激發(fā)。 |
BeforeDragRow | 否 | 拖放 | 當(dāng)用戶開始拖動行時激發(fā)。 |
BeforeFreezeColumn | 否 | 拖放 | 通過拖動凍結(jié)的列分隔符,在凍結(jié)列之前激發(fā)。 |
BeforeFreezeRow | 否 | 拖放 | 通過拖動凍結(jié)的行分隔符,在凍結(jié)行之前激發(fā)。 |
BeforeResizeColumn | 否 | 拖放 | 在通過拖動列標(biāo)題調(diào)整列大小之前激發(fā)。 |
BeforeResizeRow | 否 | 拖放 | 在通過拖動行標(biāo)題調(diào)整行大小之前激發(fā)。 |
BeforeScroll | 否 | 拖放 | 在網(wǎng)格滾動之前激發(fā)。 |
DragDrop | 否 | 拖放 | 拖放操作完成時發(fā)生。 |
DragEnter | 否 | 拖放 | 在用鼠標(biāo)將某項拖動到該控件的工作區(qū)時發(fā)生。 |
DraggingColumn | 否 | 拖放 | 當(dāng)用戶將列拖動到新位置時激發(fā)。 |
DraggingRow | 否 | 拖放 | 當(dāng)用戶將行拖動到新位置時激發(fā)。 |
DragLeave | 否 | 拖放 | 將對象拖出控件的邊界時發(fā)生。 |
DragOver | 否 | 拖放 | 將對象拖過控件的邊界時發(fā)生。 |
StartDrag | 否 | 拖放 | 在網(wǎng)格開始自動OLE拖動操作之前激發(fā)。 |
RowValidated | 否 | 校驗 | 在行失去焦點并已驗證后激發(fā)。 |
RowValidating | 否 | 校驗 | 當(dāng)一行失去焦點且需要驗證時激發(fā)。 |
AfterAddRow | 否 | 新增行 | 在用戶添加新行后激發(fā)。 |
BeforeAddRow | 否 | 新增行 | 在用戶添加新行之前激發(fā)。 |
CancelAddRow | 否 | 新增行 | 當(dāng)光標(biāo)離開新行而未對其進(jìn)行任何更改時激發(fā)。 |