Foxtable(狐表)用户栏目专家坐堂 → 数据填充建议


  共有1618人关注过本帖树形打印复制链接

主题:数据填充建议

帅哥哟,离线,有人找我吗?
凡夫俗子
  1楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:一尾狐 帖子:457 积分:3523 威望:0 精华:0 注册:2016/1/22 18:17:00
数据填充建议  发帖心情 Post By:2016/5/21 12:58:00 [只看该作者]

http://www.foxtable.com/help/index.html?n=1533.htm

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

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

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

 回到顶部
帅哥哟,离线,有人找我吗?
Hyphen
  2楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:狐神 帖子:5015 积分:25363 威望:0 精华:0 注册:2015/8/18 9:21:00
  发帖心情 Post By: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

 回到顶部
帅哥哟,离线,有人找我吗?
凡夫俗子
  3楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:一尾狐 帖子:457 积分:3523 威望:0 精华:0 注册:2016/1/22 18:17:00
  发帖心情 Post By:2016/5/21 15:39:00 [只看该作者]

For Each dc As DataCol In DataTables("表A").DataCols
        dr2(dc.Name) = dr1(dc.name)
Next

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

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

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


 回到顶部
帅哥哟,离线,有人找我吗?
Hyphen
  4楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:狐神 帖子:5015 积分:25363 威望:0 精华:0 注册:2015/8/18 9:21:00
  发帖心情 Post By:2016/5/21 16:20:00 [只看该作者]

那就用第二种方式咯,指定操作列,或者反过来排除指定列

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

 回到顶部