Foxtable常用代码汇总
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
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("折扣") Then
Tables("订单").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("金额") Then DataTables("订单").DataCols.Delete("金额")
End If 按钮或菜单通过Add方法增加的临时列,可以用Delete方法删除
14 DataCol 一列设公式,另列得结果If = "第一列" Then
If e.DataRow.IsNull("第一列") Then
e.DataRow("第二列") = Nothing
Else
e.DataRow("第二列") = Eval(e.DataRow("第一列"),e.DataRow)
End If
End If
DataColChanged事件假定希望根据第一列输入的计算公式,在第二列得出计算结果
15 DataRow 删除行DataTables("订单").DataRows(0).Delete() 按钮或菜单
删除订单表中的第一行Delete会返回逻辑值,如果删除成功,则返回True,否则返回False
16 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.DataRow
if ="开始时间" Then
if dr.IsNull("开始时间") = false Then
dr("月") = dr("开始时间").Month
Else
dr("月") = Nothing
End If
End If 表DataColChanged事件
22 DataRow 新增行编号自动加1 e.DataRow("编号") = pute("Max(编号)") + 1
DataRowAdding事件假定表中有一个编号列,希望新增行的时候,编号列能够自动加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 按钮或菜单
其实我们很少直接向DataTab
28 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 drs
dr("折扣") = 0.12
Next 按钮或菜单对于1999年1月4日订购PD01的订单,希望将其折扣统一设置为0.12
35 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)("总分排名") '则排名等于上一行
Else
drs(n)("总分排名") = n + 1 '设置排名
End If
Next
Next 按钮或菜单例子,可以参考CaseStudy目录下的文件:成绩排名.Table
36 DataTable 找出符合条件的行,并将指定列的内容替换为指定值
DataTables("订单").ReplaceFor("折扣", 0.15, "[数量] > 600") 按钮或菜单
将订单表中,订购数量大于600的订单的折扣设为0.15
37 DataTable 选定某一区域CurrentTable.Select(1,2,7,6) 按钮或菜单
选定当前表第二行第三列至第八行第7列之间的区域
38 DataTable 选定指定位置的单元格 CurrentTable.Select(0,0) 按钮或菜单