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 否 新增行 当光标离开新行而未对其进行任何更改时激发。