Foxtable常用代码汇总

  • 格式:doc
  • 大小:132.00 KB
  • 文档页数:19

Foxtable常用代码汇总1 Col 打开列窗口With Tables("员工").Cols("照片").OpenWindow().Cols("备注").CloseWindow()End With 按钮或菜单2 Col 关闭列窗口With Tables("员工").Cols("照片").OpenWindow().Cols("备注").CloseWindow()End With 按钮或菜单3 Col 移动列到指定位置With Tables("订单").Cols("日期").Move(0).Cols("客户").Move(1).Cols("产品").Move(2)End With 按钮或菜单将日期、客户、产品移到前三列的位置4 Col 冻结列CurrentTable.Cols.Frozen = 2 按钮或菜单冻结前两列5 Col 取消冻结列CurrentTable.Cols.Frozen = 0 按钮或菜单6 Col 从Table中移除指定的列If Tables("订单").Cols.Contains("折扣") ThenTables("订单").Cols.Remove("折扣")End If 按钮或菜单在订单表中移除折扣列7 Col 一次移除多列Tables("订单").Cols.Remove("折扣","金额") 按钮或菜单8 DataCol 锁定某表某列DataTables("订单").DataCols("折扣").AllowEdit = False 按钮或菜单9 DataCol 取消锁定某表某列DataTables("订单").DataCols("折扣").AllowEdit = True 按钮或菜单10 DataCol 动态地修改表达式列的计算公式DataTables("订单").DataCols("金额").Expression= "数量 * 单价"DataTables("订单").DataCols("金额").Expression = "数量 * 单价 * (1 - 折扣)" 按钮或菜单Expression属性只对表达式列有效11 DataCol 返回列的名称For Each dc As DataCol In DataTables("订单").DataCols Output.Show()Next 按钮或菜单列出订单表中所有列的名称12 DataCol 增加临时列,并可给临时列设置表达式DataTables("订单").DataCols.Add("金额", GetType(Double), "[数量] * [单价] * (1 - [折扣])") 按钮或菜单通过代码增加的临时列,在重新打开项目文件后,将不复存在13 DataCol 删除临时列If DataTables("订单").DataCols.Contains("金额") ThenDataTables("订单").DataCols.Delete("金额")End If 按钮或菜单通过Add方法增加的临时列,可以用Delete方法删除14 DataCol 一列设公式,另列得结果If = "第一列" ThenIf e.DataRow.IsNull("第一列") Thene.DataRow("第二列") = NothingElsee.DataRow("第二列") = Eval(e.DataRow("第一列"),e.DataRow)End IfEnd IfDataColChanged事件假定希望根据第一列输入的计算公式,在第二列得出计算结果15 DataRow 删除行DataTables("订单").DataRows(0).Delete() 按钮或菜单删除订单表中的第一行Delete会返回逻辑值,如果删除成功,则返回True,否则返回False16 DataRow 重新加载行DataTables("订单").DataRows(1).Load() 按钮或菜单重新加载订单表的第二行17 DataRow 撤销修改DataTables("订单").DataRows(1).Load(False) 按钮或菜单撤销对订单表第二行的修改18 DataRow DataTable中增加一行With DataTables("订单").DataRows.AddNew() '增加一行End With 按钮或菜单19 DataRow 删除指定位置的行With DataTables("订单").DataRows.Delete(0) '删除第一行End With 按钮或菜单20 DataRow 清除所有行With DataTables("单").DataRows.Delete(0) '删除第一行End With 按钮或菜单21 DataRow 按日期列求月份Dim dr As DataRow =e.DataRowif ="开始时间" Thenif dr.IsNull("开始时间") = false Thendr("月") = dr("开始时间").MonthElsedr("月") = NothingEnd IfEnd If 表DataColChanged事件22 DataRow 新增行编号自动加1 e.DataRow("编号") = pute("Max(编号)") + 1DataRowAdding事件假定表中有一个编号列,希望新增行的时候,编号列能够自动加1这个例子其实没有什么意义的,对于外部表使用自动增量主键列,对于内部表使用表达式列引用内部编号列“_Identidy”,是更好的选择。

23 DataTable 获得指定名称的DataTable Dim dt As DataTabledt = DataTables("订单") 按钮或菜单24 DataTable 锁定表DataTables("订单").AllowEdit = False 按钮或菜单AllowEdit属性25 DataTable 取消锁定表DataTables("订单").AllowEdit = True 按钮或菜单AllowEdit属性26 DataTable 按回车键向下移动光标DataTables("订单").EnterKeyActionDown = True 按钮或菜单EnterKeyActionDown属性27 DataTable 在DataTable中增加一行,Dim dr As DataRow 按钮或菜单其实我们很少直接向DataTab28 DataTable 保存数据DataTables("订单").Save() 按钮或菜单单保存数据29 DataTable 同时保存数据和设置DataTables("订单").Save(True) 按钮或菜单保存设置比较耗时,会影响保存速度。

菜单中的保存命令是同时保存数据和设置的。

30 DataTable 自制保存按钮For Each dt As DataTable In DataTables 按钮或菜单这个按钮就能保存所有表,但是不会保存设置;对于一个成熟的、已经交付使用的项目,有时是没有必要保存设置的。

31 DataTable 删除符合条件的行DataTables("订单").DeleteFor("[日期] < #2/1/2007#") 按钮或菜单删除订单表中2007年2月1日以前的行32 DataTable 对新增行设置初始值Dim r As Row = CurrentTable.Rows.AddNew()r("姓名") = r("日期") = Date.Today 按钮或菜单上述的代码首先在当前表增加一行,然后将新增行的姓名列设为当前用户名,日期列设为当天日期。

User表示当前登录用户,我们会在后续章节介绍它。

提示:此方法和Table的AddNew方法完全等效。

33 DataTable 在DataTable查找符合条件的行Dim dr As DataRowdr = DataTables("产品").Find("产品编号 = '03'") '找出编号为03的产品With DataTables("订单")dr = .Find("产品 = 'PD01'","日期") '找出第一次订购PD01产品的记录 dr = .Find("产品 = 'PD01'","日期",1) '找出第二次订购PD01产品的记录End With 按钮或菜单34 DataTable 以集合的形式,返回所有符合指定条件的行Dim drs As List(Of DataRow)drs = DataTables("订单").Select("[产品] = 'PD01' And [日期]= #1/4/1999#")For Each dr As Datarow In drsdr("折扣") = 0.12Next 按钮或菜单对于1999年1月4日订购PD01的订单,希望将其折扣统一设置为0.1235 DataTable 班级自动生成总分排名'获得所有班级名称,保存在集合中Dim bjs As List(Of String) = DataTables("成绩表").GetUniqueValues("","班级")For Each bj As String In bjs '获得该班级的全部行,按总分降序排序 Dim drs As List(Of DataRow) = DataTables("成绩表").Select("[班级] = " & bj, "总分 DESC")For n As integer = 0 To drs.Count - 1 '遍历所有行If n > 0 AndAlso drs(n)("总分") = drs(n-1)("总分") Then '如果总分和上一行相同drs(n)("总分排名") = drs(n-1)("总分排名") '则排名等于上一行Elsedrs(n)("总分排名") = n + 1 '设置排名End IfNextNext 按钮或菜单例子,可以参考CaseStudy目录下的文件:成绩排名.Table36 DataTable 找出符合条件的行,并将指定列的内容替换为指定值DataTables("订单").ReplaceFor("折扣", 0.15, "[数量] > 600") 按钮或菜单将订单表中,订购数量大于600的订单的折扣设为0.1537 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 DataTablesdt.LoadNext 按钮或菜单在多人同时编辑数据的时候,通过执行此方法,可以得到最新的数据41 DataTable 设置加载条件重新加载With DataTables("订单").LoadFilter = "[产品] = 'PD01'".Load()End With 按钮或菜单加载产品为PD01的订单42 DataTable 撤销对表A的修改DataTables("表A").RejectChanges() 按钮或菜单撤销自打开文件或最近一次保存以来,对该表做出的修改43 DataTable 移除符合条件的行DataTables("订单").RemoveFor("[产品] = 'PD01'") 按钮或菜单44 DataTable 根据条件统计表中数据Dim Total As IntegerDim Amount As DoubleWith DataTables("订单")Total = .Compute("Sum(数量)")Amount = .Compute("Sum(金额)")End With 按钮或菜单计算总的销售数量和金额45 DataTable 根据条件统计表中数据Dim Total As LongTotal = DataTables("订单").Compute("Sum(数量)", "产品 = 'PD01'") 按钮或菜单计算产品PD01的销售数量46 DataTable 根据条件统计表中数据Dim Customers As List(Of String)Dim Total As IntegerCustomers = DataTables("订单").GetUniqueValues("", "客户")For Each Customer As String In CustomersTotal = DataTables("订单").Compute("Sum(数量)", "[客户] = '" & Customer & "'")Output.Show(Customer & ":" & Total)Next按钮或菜单计算每个客户的订购数量47 DataTable 删除表DataTables.Delete("统计表1") 按钮或菜单删除通过代码增加的临时表。