Foxtable(狐表)用户栏目专家坐堂 → 自动复制行报错


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

主题:自动复制行报错

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


加好友 发短信
等级:四尾狐 帖子:808 积分:6213 威望:0 精华:0 注册:2014/3/23 23:02:00
自动复制行报错  发帖心情 Post By:2015/7/18 21:21:00 [只看该作者]

表“时间”有个“选择”逻辑列,选中此逻辑列,自动将选中的所有行行复制到表“月”。“地面”列为表达式列
窗口中的“复制”按钮中代码如下:

Dim drs As List(of DataRow) = DataTables("时间").Select("选择 = True") 
For Each dr As DataRow In drs
    Dim dr1 As DataRow = DataTables("月").AddNew
    For Each dc As DataCol In DataTables("月").DataCols
        dr1(dc.Name) = dr(dc.Name)
    Next
Next

以前运行正常,最近出报错“地面”列为只读,不明白其意思,求解。

图片点击可在新窗口打开查看此主题相关图片如下:搜狗截图15年07月18日2110_1.jpg
图片点击可在新窗口打开查看


 回到顶部
帅哥,在线噢!
y2287958
  2楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:狐神 帖子:4649 积分:33901 威望:0 精华:0 注册:2008/8/31 22:44:00
  发帖心情 Post By:2015/7/18 21:27:00 [只看该作者]

如果"地面"这个表达式列已经存在表达式,是无法再赋值的。

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


加好友 发短信
等级:贵宾 帖子:39310 积分:196782 威望:0 精华:1 注册:2015/4/25 9:23:00
  发帖心情 Post By:2015/7/19 10:27:00 [只看该作者]

 简单判断一下

 

Dim drs As List(of DataRow) = DataTables("时间").Select("选择 = True")
For Each dr As DataRow In drs
    Dim dr1 As DataRow = DataTables("月").AddNew
    For Each dc As DataCol In DataTables("月").DataCols
        If dc.Expression = "" Then
            dr1(dc.Name) = dr(dc.Name)
        End If
    Next
Next

 

----------------

 

严谨的判断

 

Dim dc As DataCol  = DataTables("表C").DataCols("c")
Dim pi As System.Reflection.PropertyInfo = dc.Gettype.getproperty("IsTemporary",Reflection.BindingFlags.nonpublic Or Reflection.BindingFlags.Instance)
output.show( pi.getvalue(dc,Nothing))


 回到顶部