Foxtable常用代码汇总

Foxtable常用代码汇总

1 Col 打开列窗口 With Tables(\员工\ .Cols(\照片\ .Cols(\备注\End With 按钮或菜单

2 Col 关闭列窗口 With Tables(\员工\ .Cols(\照片\ .Cols(\备注\End With 按钮或菜单

3 Col 移动列到指定位置 With Tables(\订单\ .Cols(\日期\ .Cols(\客户\ .Cols(\产品\

End With 按钮或菜单 将日期、客户、产品移到前三列的位置

4 Col 冻结列 CurrentTable.Cols.Frozen = 2 按钮或菜单 冻结前两列 5 Col 取消冻结列 CurrentTable.Cols.Frozen = 0 按钮或菜单

6 Col 从Table中移除指定的列 If Tables(\订单\折扣\ Tables(\订单\折扣\

End If 按钮或菜单 在订单表中移除折扣列 7 Col 一次移除多列 Tables(\订单\折扣\金额\按钮或菜单 8 DataCol 锁定某表某列 DataTables(\订单\折扣\ 按钮或菜单

9 DataCol 取消锁定某表某列 DataTables(\订单\折扣\按钮或菜单

10 DataCol 动态地修改表达式列的计算公式 DataTables(\订单\金额\数量 * 单价\

DataTables(\订单\金额\数量 * 单价 * (1 - 折扣)\按钮或菜单 Expression属性只对表达式列有效

11 DataCol 返回列的名称 For Each dc As DataCol In DataTables(\订单\ Output.Show(dc.Name)

Next 按钮或菜单 列出订单表中所有列的名称

12 DataCol 增加临时列,并可给临时列设置表达式 DataTables(\订单\金额\GetType(Double), \数量] * [单价] * (1 - [折扣])\按钮或菜单 通过代码增加的临时列,在重新打开项目文件后,将不复存在

13 DataCol 删除临时列 If DataTables(\订单\金额\ DataTables(\订单\金额\

End If 按钮或菜单 通过Add方法增加的临时列,可以用Delete方法删除 14 DataCol 一列设公式,另列得结果 If e.DataCol.Name = \第一列\ If e.DataRow.IsNull(\第一列\ e.DataRow(\第二列\ Else

e.DataRow(\第二列\第一列\ End If End If

1

DataColChanged事件 假定希望根据第一列输入的计算公式,在第二列得出计算结果

15 DataRow删除行 DataTables(\订单\ 按钮或菜单 删除订单表中的第一行Delete会返回逻辑值,如果删除成功,则返回True,否则返回False

16 DataRow重新加载行 DataTables(\订单\按钮或菜单 重新加载订单表的第二行

17 DataRow撤销修改 DataTables(\订单\按钮或菜单 撤销对订单表第二行的修改

18 DataRowDataTable中增加一行 With DataTables(\订单\ .AddNew() '增加一行 End With 按钮或菜单

19 DataRow删除指定位置的行 With DataTables(\订单\ .Delete(0) '删除第一行 End With 按钮或菜单

20 DataRow清除所有行 With DataTables(\单\ .Delete(0) '删除第一行 End With 按钮或菜单

21 DataRow按日期列求月份 Dim dr As DataRow =e.DataRow if e.DataCol.Name =\开始时间\ if dr.IsNull(\开始时间\ dr(\月\开始时间\ Else

dr(\月\ End If

End If 表DataColChanged事件

22 DataRow新增行编号自动加1 e.DataRow(\编号\= e.DataTable.Compute(\编号)\+ 1 DataRowAdding事件 假定表中有一个编号列,希望新增行的时候,编号列能够自动加1

这个例子其实没有什么意义的,对于外部表使用自动增量主键列,对于内部表使用表达式列引用内部编号列“_Identidy”,是更好的选择。

23 DataTable 获得指定名称的DataTable Dim dt As DataTabledt = DataTables(\订单\按钮或菜单

24 DataTable 锁定表 DataTables(\订单\按钮或菜单 AllowEdit属性 25 DataTable 取消锁定表 DataTables(\订单\按钮或菜单 AllowEdit属性 26 DataTable 按回车键向下移动光标 DataTables(\订单\按钮或菜单 EnterKeyActionDown属性

27 DataTable 在DataTable中增加一行, Dim dr As DataRow 按钮或菜单 其实我们很少直接向DataTab

28 DataTable 保存数据 DataTables(\订单\按钮或菜单 单保存数据

29 DataTable 同时保存数据和设置 DataTables(\订单\按钮或菜单 保存设置比较耗时,会影响保存速度。菜单中的保存命令是同时保存数据和设置的。

30 DataTable 自制保存按钮For Each dt As DataTable In DataTables 按钮或菜单 这个按钮就能保存所有表,但是不会保存设置;对于一个成熟的、已经交付使用的项目,有时是没有必要保存设置的。 31 DataTable 删除符合条件的行 DataTables(\订单\日期] < #2/1/2007#\按钮或菜单 删除订单表中2007年2月1日以前的行

32 DataTable 对新增行设置初始值 Dim r As Row = CurrentTable.Rows.AddNew()

r(\姓名\ = User.Namer(\日期\按钮或菜单 上述的代码首先在当前表增加一行,然后将新增行的姓名列设为当前用户名,日期列设为当天日期。User表示当前登录用户,我们会在后续章节介

2

绍它。提示:此方法和Table的AddNew方法完全等效。 33 DataTable 在DataTable查找符合条件的行 Dim dr As DataRowdr = DataTables(\产品\产品编号 = '03'\找出编号为03的产品 With DataTables(\订单\

dr = .Find(\产品 = 'PD01'\日期\找出第一次订购PD01产品的记录 dr = .Find(\产品 = 'PD01'\日期\找出第二次订购PD01产品的记录End With 按钮或菜单

34 DataTable 以集合的形式,返回所有符合指定条件的行 Dim drs As List(Of DataRow) drs = DataTables(\订单\产品] = 'PD01' And [日期]= #1/4/1999#\For Each dr As Datarow In drs dr(\折扣\

Next 按钮或菜单 对于1999年1月4日订购PD01的订单,希望将其折扣统一设置为0.12 35 DataTable 班级自动生成总分排名 '获得所有班级名称,保存在集合中 Dim bjs As List(Of String) = DataTables(\成绩表\班级\

For Each bj As String In bjs '获得该班级的全部行,按总分降序排序 Dim drs As List(Of DataRow) = DataTables(\成绩表\班级] = \总分 DESC\ For n As integer = 0 To drs.Count - 1 '遍历所有行

If n > 0 AndAlso drs(n)(\总分\总分\如果总分和上一行相同 drs(n)(\总分排名\总分排名\则排名等于上一行 Else

drs(n)(\总分排名\设置排名 End If Next

Next 按钮或菜单 例子,可以参考CaseStudy目录下的文件:成绩排名.Table 36 DataTable 找出符合条件的行,并将指定列的内容替换为指定值 DataTables(\订单\折扣\数量] > 600\按钮或菜单 将订单表中,订购数量大于600的订单的折扣设为0.15

37 DataTable 选定某一区域 CurrentTable.Select(1,2,7,6) 按钮或菜单 选定当前表第二行第三列至第八行第7列之间的区域

38 DataTable 选定指定位置的单元格 CurrentTable.Select(0,0) 按钮或菜单 选定当前表的第1行第1列

39 DataTable 选定整个某列 CurrentTable.Select(0, 1, CurrentTable.Rows.Count - 1, 1) 按钮或菜单 选定整个第二列

40 DataTable 保存并重新加载所有表 For Each dt As DataTable In DataTables dt.Load

Next 按钮或菜单 在多人同时编辑数据的时候,通过执行此方法,可以得到最新的数据 41 DataTable 设置加载条件重新加载 With DataTables(\订单\ .LoadFilter = \产品] = 'PD01'\ .Load()

End With 按钮或菜单 加载产品为PD01的订单

42 DataTable 撤销对表A的修改 DataTables(\表A\按钮或菜单 撤销自打开文件或最近一次保存以来,对该表做出的修改 43 DataTable 移除符合条件的行 DataTables(\订单\产品] = 'PD01'\按钮或菜单

44 DataTable 根据条件统计表中数据 Dim Total As Integer Dim Amount As Double

With DataTables(\订单\

3

联系客服:779662525#qq.com(#替换为@) 苏ICP备20003344号-4