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

常用事件

事件名称 是否常用 分类 描述
ChangeEdit 编辑 在编辑器内容更改后,在编辑模式下激发。当网格处于编辑模式且编辑器的内容更改时,将触发此事件。这可能是由于用户在编辑器中键入或在下拉列表中选择新项目造成的。触发此事件时,新编辑器内容尚未应用于表格单元。您可以使用BaseGrid.Editor属性检查新内容。
KeyDownEdit 编辑 当用户按键时,在编辑模式下激发。KeyDownEdit事件对应于System.Windows.Forms.Control的KeyDown事件,除非它在表格处于编辑模式时触发(在这种情况下,接收键的控件是编辑器,而不是网格本身)。
编辑器有三种模式:文本、下拉组合或下拉列表。使用的模式由BaseGrid.Cols("列名称").ComboList属性决定。
使用文本编辑器或下拉组合进行编辑时,可以通过使用BaseGrid.Editor来设置或检索编辑器的内容。获取BaseGrid.Editor编辑器对象时,请将其强制转换为正确的控件类型。
KeyPressEdit 编辑 当用户按下字符键时,在编辑模式下激发。KeyPressEdit事件对应于System.Windows.Forms.Control的KeyPress事件,除非它在表格处于编辑模式时触发(在这种情况下,接收键的控件是编辑器,而不是网格本身)。
编辑器有三种模式:文本、下拉组合或下拉列表。使用的模式由BaseGrid.Cols("列名称").ComboList属性决定。
使用文本编辑器或下拉组合进行编辑时,可以通过使用BaseGrid.Editor来设置或检索编辑器的内容。获取BaseGrid.Editor编辑器对象时,请将其强制转换为正确的控件类型。
KeyUpEdit 编辑 当用户释放密钥时,在编辑模式下激发。KeyUpEdit事件对应于System.Windows.Forms.Control的KeyUp事件,除非它在表格处于编辑模式时触发(在这种情况下,接收键的控件是编辑器,而不是网格本身)。
编辑器有三种模式:文本、下拉组合或下拉列表。使用的模式由BaseGrid.Cols("列名称").ComboList属性决定。
使用文本编辑器或下拉组合进行编辑时,可以通过使用BaseGrid.Editor来设置或检索编辑器的内容。获取BaseGrid.Editor编辑器对象时,请将其强制转换为正确的控件类型。
LeaveEdit 编辑 在控件离开编辑模式后激发。
StartEdit 编辑 在控件进入编辑模式之前激发。 它允许您通过将Cancel参数设置为true来防止编辑,或者重新设置BaseGrid.ComboList属性或重新设置BaseGrid.EditMask属性。如果整列的选项或掩码相同,则可以使用BaseGrid.Cols("列名称").ComboList和BaseGrid.Cols("列名称").EditMask更有效地设置它们。在这种情况下,根本不需要处理StartEdit事件。
BeforeMenuCommandClick 菜单 在表菜单命令单击之前激发。这个只适合在表属性里面的表事件里面写代码。如果是窗体表事件,此事件不生效。
BeforeShowContextMenu 菜单 显示表的右键菜单之前触发。我们可以在此事件中修改显示的菜单。
CommandStateQuery 菜单 定时检测菜单命令的状态。这个只适合在表属性里面的表事件里面写代码。如果是窗体表事件,此事件不生效。
MenuCommandClick 菜单 在表菜单命令单击之前激发。这个只适合在表属性里面的表事件里面写代码。如果是窗体表事件,此事件不生效。
BeforeDoubleClick 操作 在网格处理双击事件之前激发。
BeforeMouseDown 操作 在网格处理MouseDown事件之前激发。
MouseClick 操作 用鼠标单击控件时发生。
MouseDoubleClick 操作 用鼠标双击控件时发生。
CellButtonClick 常用 在用户单击单元格按钮后激发。通常,此事件用于弹出单元格的自定义编辑器(例如,用于选择颜色、日期、文件、图片、自定义输入窗口等的对话框)。默认情况下,单元格编辑按钮显示在单元格的右侧,带有省略号标题(“...”)。
OwnerDrawCell 常用 当DrawMode属性设置为OwnerDraw时,在网格绘制单元格之前激发。该事件允许三种主要类型的自定义:
1、更改文本和图像参数的值以修改网格显示的值。例如,您可以使用这种类型的自定义将密码字符串替换为星号。
2、更改“样式”特性以使用与默认情况下网格选择的样式不同的样式显示单元格。例如,您可以使用这种类型的自定义来提供条件格式。
3、使用图形和边界参数,自己绘制单元。以这种方式绘制单元格时,可以调用OwnerDrawCellEventArgs。DrawCell成员强制网格绘制单元格的特定部分,同时代码绘制其他部分。例如,可以绘制自定义背景,然后调用DrawCell让网格绘制单元格边框和内容。
当网格自动调整行或列的大小时,也会触发OwnerDrawCell事件(请参见BaseGrid.AutoSizeRows和BaseGrid.AutoSizeCols方法)。之所以这样做,是因为网格需要使用与渲染单元相同的文本、图像和样式参数来测量单元。在这些情况下,测量参数设置为true,边界矩形为空。
SetupEditor 常用 在网格初始化单元格编辑器后激发,以允许其他自定义初始化。
VisibleChanged 属性已更改 在更改控件的可见性时发生。
AfterDataViewFilter 数据 表筛选之后激发事件。
AfterDataViewSort 数据 表排序之后激发事件。
AfterLoaded 数据 数据加载之后激发。
BeforeDataViewFilter 数据 表筛选之前激发事件。
BeforeDataViewSort 数据 表排序之前激发事件。
BeforeSave 数据 数据表保存之前发生的事件。
BeforeSaveRowData 数据 数据行保存之前发生的事件
ColDataChanged 数据 数据变更之后发生的事件。
ColDataChanging 数据 数据变更之前发生的事件。
CurrentChanged 数据 表的当前行变更事件。
PositionChanged 数据 表的当前位置变更事件。此事件跟CurrentChanged事件效果类似。
RowDataAdded 数据 数据行增加之后发生的事件。
RowDataAdding 数据 数据行新增之前发生的事件。
RowDataChecked 数据 数据行选中之后发生的事件。
RowDataChecking 数据 数据行选中之前发生的事件。
RowDataDeleted 数据 数据行删除之后发生的事件。
RowDataDeleting 数据 数据行删除之前发生的事件。
RowDataLockedChanged 数据 数据行锁定之后发生的事件。
RowDataLockedChanging 数据 数据行锁定之前发生的事件。
ValidateEdit 数据 在编辑器仍处于活动状态时,在控件退出单元格编辑模式之前激发。
AfterEdit 编辑 单元格内容编辑之后激发。如果用户按ESC键取消编辑,则不会触发此事件。每当网格离开编辑模式时,即使编辑已取消,也会触发LeaveEdit事件。
BeforeEdit 编辑 此事件不仅在网格即将进入编辑模式时触发。它在绘制单元格时也会激发,以支持绘制编辑器的下拉按钮。
CellChanged 编辑 单元格内容更改后激发。此事件允许您在单元格内容发生更改时执行处理,而不管它们是如何更改的(例如,用户在单元格中键入数据,从数据库加载数据,或通过代码将数据分配给网格)。
此事件可用于提供条件格式和动态数据摘要,每当数据发生更改时,这些内容都会自动更新。
此事件在绑定和未绑定模式下激发。在某些情况下,数据源对象可能会通知表格当前行中的某些数据已更改,而不指定更改的列。在这种情况下,Col参数将设置为-1。事件处理程序应准备好处理这种情况,而不会引发异常。
BeforeCollapse 操作 在折叠或展开节点行之前激发。
AfterSubtotal 统计 将小计行添加到网格后激发。
BeforeSubtotal 统计 在将小计行添加到网格之前激发。
AfterRowColChange 选择区域 由于用户操作(鼠标或键盘)或通过代码,此事件在Row或Col属性更改之前触发。它允许您显示有关当前选定行、列或单元格的其他信息。要执行验证或防止选择某些单元格,请改用BeforeRowColChange和BeforeSelChange事件。
AfterSelChange 选择区域 由于用户操作(鼠标或键盘)或通过代码,在RowSel或ColSel属性更改后触发此事件。如果要显示有关当前选择的其他信息,此事件非常有用。要执行验证或防止选择某些单元格,请改用BeforeRowColChange和BeforeSelChange事件。
BeforeRowColChange 选择区域 由于用户操作或通过代码,此事件在Row或Col属性更改之前触发。它允许您阻止选择某些单元格,从而在网格上创建“受保护”的范围。BeforeRowColChange仅在行或列属性即将更改时激发。要检测扩展选择,还需要处理BeforeSelChange事件。
BeforeSelChange 选择区域 由于用户操作或通过代码,此事件在RowSel和ColSel属性更改之前触发。它允许您阻止选择某些单元格,从而在网格上创建“受保护”的范围。为了防止选择范围,还需要处理BeforeRowColChange事件,该事件在行和列属性更改之前触发。
EnterCell 选择区域 由于用户操作(鼠标或键盘)或通过代码,此事件在光标进入当前单元格之前触发。
LeaveCell 选择区域 在由于用户操作(鼠标或键盘)或通过代码,此事件在光标离开当前单元格之前触发。
MouseEnterCell 选择区域 当鼠标进入单元格时激发。
MouseLeaveCell 选择区域 当鼠标离开单元格时激发。
RowColChange 选择区域 当由于用户操作(鼠标或键盘)或通过代码更改Row或Col属性时,RowColChange将触发。当选择更改(RowSel或ColSel属性)但活动单元格(Row,Col)保持不变时,不会触发此事件。
SelChange 选择区域 由于用户操作(鼠标或键盘)或通过代码,在Row, Col, RowSel, 或ColSel属性更改后触发SelChange。当用户用鼠标扩展选择时,此事件也会触发。

不常用事件

事件名称 是否常用 分类 描述
Move 布局 在移动控件时发生。
AfterCollapse 操作 在折叠或展开节点行后激发。
Click 操作 单击组件时发生。
DoubleClick 操作 双击组件时发生。
GetCellErrorInfo 错误信息 当错误为真且控件需要单元格的错误信息时激发。
GetEditorErrorInfo 错误信息 当错误设置为true且编辑器验证失败时激发。
GetRowErrorInfo 错误信息 当错误为true且控件需要某行的错误信息时激发。
GridError 错误信息 在数据源报告错误条件后激发。
BeforePageBreak 打印 打印控件时激发,以提供对分页符的控制。
BeginPrint 打印 在网格开始打印之前激发。
EndPrint 打印 在网格完成打印后激发。
PrintPage 打印 在网格完成打印页面后激发。
KeyDown 在首次按下某个键时发生。
KeyPress 在控件具有焦点并且用户按下并释放某个键后发生。
KeyUp 在释放键时发生。
Enter 焦点 在控件成为该窗体的活动控件时发生。
GotFocus 焦点 在控件获得焦点时发生。
Leave 焦点 当控件不再是窗体的活动控件时发生。
LostFocus 焦点 在控件失去焦点时发生。
AfterFilter 排序筛选 在将列过滤器应用于网格后激发。
AfterSort 排序筛选 单击列标题对列排序后激发。
BeforeFilter 排序筛选 在将列过滤器应用于网格之前激发。
BeforeSort 排序筛选 在通过单击列标题对列进行排序之前激发。
ComboCloseUp 其他 当编辑器的下拉部分关闭时,在编辑模式下激发。
ComboDropDown 其他 当编辑器的下拉部分打开时,在编辑模式下激发。
CustomizeFilterEditor 其他 在创建条件筛选器的值编辑器之前激发。
GetLocalizedString 其他 当字符串需要在显示前本地化时激发。
SetUnboundValue 其他 当网格需要在未绑定单元格中存储数据时激发。
ShowScrollTip 其他 在显示垂直滚动提示之前激发。
DataBindingComplete 属性已更改 在数据绑定操作完成后激发。
DataMemberChanged 属性已更改 当DataMember属性的值更改时激发。
DataSourceChanged 属性已更改 当数据源属性的值更改时激发。
EnabledChanged 属性已更改 在更改控件的启用状态时发生。
MouseDown 鼠标 当鼠标指针在组件上方并按下鼠标按钮时发生。
MouseEnter 鼠标 在鼠标进入控件的可见部分时发生。
MouseHover 鼠标 当鼠标在控件内保持静止状态达一段时间时发生。
MouseLeave 鼠标 在鼠标离开控件的可见部分时发生。
MouseMove 鼠标 鼠标指针移过组件时发生。
MouseUp 鼠标 在鼠标指针在组件上方并释放鼠标按钮时发生。
MouseWheel 鼠标 在控件有焦点的同时鼠标轮移动时发生。
AfterDataRefresh 数据 在任何数据源更改通知后激发。
AfterDeleteRow 数据 在用户删除一行或多行后激发。
BeforeDeleteRow 数据 在用户删除行之前激发。
CellChecked 数据 在用户选中或取消选中单元格中的复选框后激发。
GetUnboundValue 数据 当网格需要检索未绑定单元格的数据时激发。
GridChanged 数据 当网格或其内容更改时激发。
AfterDragColumn 拖放 在用户完成拖动列后激发。
AfterDragRow 拖放 在用户完成拖动行后激发。
AfterFreezeColumn 拖放 通过拖动冻结列分隔符冻结列后激发。
AfterFreezeRow 拖放 通过拖动冻结行分隔符冻结行后激发。
AfterResizeColumn 拖放 通过拖动列标题调整列大小后激发。
AfterResizeRow 拖放 通过拖动行标题调整行大小后激发。
AfterScroll 拖放 在网格滚动后激发。此事件允许您防止用户在对当前选择执行操作时滚动网格。可以通过设置e.Cancel=True防止用户滚动滚动条。
BeforeAutosizeColumn 拖放 在双击列标题自动调整列大小之前激发。
BeforeAutosizeRow 拖放 在双击行标题自动调整行大小之前激发。
BeforeDragColumn 拖放 当用户开始拖动列时激发。
BeforeDragRow 拖放 当用户开始拖动行时激发。
BeforeFreezeColumn 拖放 通过拖动冻结的列分隔符,在冻结列之前激发。
BeforeFreezeRow 拖放 通过拖动冻结的行分隔符,在冻结行之前激发。
BeforeResizeColumn 拖放 在通过拖动列标题调整列大小之前激发。
BeforeResizeRow 拖放 在通过拖动行标题调整行大小之前激发。
BeforeScroll 拖放 在网格滚动之前激发。
DragDrop 拖放 拖放操作完成时发生。
DragEnter 拖放 在用鼠标将某项拖动到该控件的工作区时发生。
DraggingColumn 拖放 当用户将列拖动到新位置时激发。
DraggingRow 拖放 当用户将行拖动到新位置时激发。
DragLeave 拖放 将对象拖出控件的边界时发生。
DragOver 拖放 将对象拖过控件的边界时发生。
StartDrag 拖放 在网格开始自动OLE拖动操作之前激发。
RowValidated 校验 在行失去焦点并已验证后激发。
RowValidating 校验 当一行失去焦点且需要验证时激发。
AfterAddRow 新增行 在用户添加新行后激发。
BeforeAddRow 新增行 在用户添加新行之前激发。
CancelAddRow 新增行 当光标离开新行而未对其进行任何更改时激发。