以文本方式查看主题

-  Foxtable(狐表)  (http://foxtable.com/bbs/index.asp)
--  专家坐堂  (http://foxtable.com/bbs/list.asp?boardid=2)
----  数据填充建议  (http://foxtable.com/bbs/dispbbs.asp?boardid=2&id=85249)

--  作者:凡夫俗子
--  发布时间:2016/5/21 12:58:00
--  数据填充建议
http://www.foxtable.com/help/index.html?n=1533.htm

建议增加 填充前是否删除目标表所有原数据

建议增加 填充数据的顺序控制参数

(不要说自己编码控制)
[此贴子已经被作者于2016/5/21 12:58:48编辑过]

--  作者:Hyphen
--  发布时间:2016/5/21 14:09:00
--  
哦,但是这个帮助不就是完全手工编码的吗。

删除目标表也就是一句代码的事:DataTables("表B").DeleteFor("")

填充数据的顺序也是一句代码的事,第一个例子为例,加起来就是

DataTables("表B").DeleteFor("")
Dim drs As List(Of DataRow) = DataTables("表A").Select("[金额] > 100","排序列")
For i As Integer = 0 To drs.Count - 1
    Dim dr1 = drs(i)
    Dim dr2 As DataRow = DataTables("表B").AddNew()
    For Each dc As DataCol In DataTables("表A").DataCols
        dr2(dc.Name) = dr1(dc.name)
    Next
Next

--  作者:凡夫俗子
--  发布时间:2016/5/21 15:39:00
--  
For Each dc As DataCol In DataTables("表A").DataCols
        dr2(dc.Name) = dr1(dc.name)
Next

这个有些问题,如果表中的列全部是数据列则没问题,如果 有 表达式列 则有些问题,提示该列为只读列 不能写入数据

但是表达式列的判断 目前官方给的方法是 通过 判断表达式的字符串 来进行表达式列的判断,但表达式列 不一定有设置表达式

如何判断 排除 表达式列则成了问题的核心


--  作者:Hyphen
--  发布时间:2016/5/21 16:20:00
--  
那就用第二种方式咯,指定操作列,或者反过来排除指定列

或者表达式列统一用固定的前缀起名称,用标题显示可视名称