窗口表事件
窗口与控件事件
编辑窗口_BeforeClose
If Tables(\员工\如果当前行已经修改过 e.Cancel = True End If
编辑窗口_Button1_Click
With Tables(\员工\
If .Current.DataRow.RowState = DataRowState.Unchanged Then '如果当前行未曾修改 .Position = .Position - 1 End If End With
编辑窗口_Button2_Click
With Tables(\员工\
If .Current.DataRow.RowState = DataRowState.Unchanged Then '如果当前行未曾修改 .Position = .Position + 1 End If End With
编辑窗口_Button3_Click
With Tables(\员工\
If .Current.DataRow.RowState = DataRowState.Unchanged Then '如果当前行未曾修改 .Position = 0 End If End With
编辑窗口_Button4_Click
With Tables(\员工\
If .Current.DataRow.RowState = DataRowState.Unchanged Then '如果当前行未曾修改 .Position = .Rows.Count - 1 End If End With
编辑窗口_Button5_Click
Tables(\员工\
编辑窗口_Button6_Click
With Tables(\员工\
If .Current.DataRow.RowState = DataRowState.Unchanged Then '如果当前行未曾修改 Tables(\员工\ End If End With
编辑窗口_Button7_Click
31
Tables(\员工\
编辑窗口_Button8_Click
Tables(\员工\
自定义函数
全局代码
菜单事件
======================================= =====关联与表达式的综合示例.foxdb=====
项目事件
计划管理
表事件
窗口表事件
窗口与控件事件
自定义函数
全局代码
菜单事件
======================================= =====关联演示.Foxdb=====
项目事件
计划管理
表事件
产品_AfterLoadTableSetting
e.Table.Cols(\单价\产品\
窗口表事件
窗口与控件事件
自定义函数
全局代码
菜单事件
32
======================================= =====关联表的数据引用和统计.foxdb=====
项目事件
计划管理
表事件
产品_DataColChanged
Select Case e.DataCol.Name Case \单价\
Dim drs As List(of DataRow) = e.DataRow.GetChildRows(\订单\获得此产品所有订单 For Each dr As DataRow In drs
If dr.Locked = False '如果此订单表没有锁定 dr(\单价\单价\ End If Next
Case \产品编号\
Dim drs As List(of DataRow) = e.DataRow.GetChildRows(\订单\获得此产品所有订单 Dim val As Double
For Each dr As DataRow In drs
If dr(\已付款\如果此订单已经付款 val = val + dr(\金额\ End If Next
e.DataRow(\已收款金额\End Select
订单_DataColChanged
Select Case e.DataCol.Name Case \产品编号\
Dim pr As DataRow
If e.NewValue Is Nothing Then e.DataRow(\单价\ Else
pr = e.DataRow.GetParentRow(\产品\ If pr IsNot Nothing Then
e.DataRow(\单价\单价\
If e.OldValue <> e.NewValue Then '如果新旧产品编号不同
DataTables(\产品\产品编号\重算新产品的销售数量和金额
End If End If End If
If e.OldValue IsNot Nothing AndAlso e.OldValue <> e.NewValue Then '如果原产品编号不为空,且和新产品编号不同.
pr = DataTables(\产品\产品编号] = \ If pr IsNot Nothing Then
DataTables(\产品\产品编号\重算原产品的销售数量和金额
End If
33
End If
Case \数量\折扣\已付款\单价\ If e.OldValue <> e.NewValue Then
Dim pr As DataRow = e.DataRow.GetParentRow(\产品\ If pr IsNot Nothing Then
DataTables(\产品\产品编号\ End If End If End Select
订单_DataRowDeleting
e.DataRow(\数量\
窗口表事件
窗口与控件事件
自定义函数
全局代码
菜单事件
======================================= =====分页加载.Foxdb=====
项目事件
AfterOpenProject
With DataTables(\订单\
.LoadFilter = \一定要清除加载条件 .LoadTop = 20 .LoadPage = 0 .Load() End With
BeforeLoadInnerTable
If e.DataTableName = \订单\ e.Filter = \End If
计划管理
表事件
窗口表事件
窗口与控件事件
窗口1_Button1_Click
With DataTables(\订单\
34
If .LoadPage <> 0 Then .LoadTop = 20 .LoadPage = 0 .Load End If End With
窗口1_Button2_Click
With DataTables(\订单\
If .LoadPage < .TotalPages - 1 Then .LoadPage = .LoadPage + 1 .Load() End If End With
窗口1_Button3_Click
With DataTables(\订单\ If .LoadPage > 0 Then
.LoadPage = .LoadPage - 1 .Load() End If End With
窗口1_Button4_Click
With DataTables(\订单\
If .LoadPage < .TotalPages - 1 Then .LoadPage = .TotalPages - 1 .Load() End If End With
自定义函数
全局代码
菜单事件
======================================= =====动态加载数据(外部数据源).Foxdb=====
项目事件
BeforeConnectOuterDataSource
If e.Name = \
e.ConnectionString = \订单.mdb;Persist Security Info=False\End If
BeforeLoadOuterTable
If e.DataTableName = \订单\
35