Foxtable(狐表)用户栏目专家坐堂 → 遍历的疑问,望精通者释惑


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

主题:遍历的疑问,望精通者释惑

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


加好友 发短信
等级:七尾狐 帖子:1732 积分:11266 威望:0 精华:0 注册:2011/12/15 22:06:00
  发帖心情 Post By:2013/5/9 15:24:00 [显示全部帖子]

以下是引用zerov在2013-5-9 6:52:00的发言:
1、将所有表的审核列设置为:如果已经审核,则不允许修改

For Each dt As DataTable In DataTables '遍历所有表
    For Each dc As Datacol In dt.Datacols ‘遍历所有列
      if e.datacols.name = "审核" then ’如果是审核列
         if e.datacols("审核")= true then ‘如果已经审核
              e.datarow("审核").AllowEdit = True  则锁定该行,此行不允许修改
         end if
     end if
  next
next 

    疑问:1、此句对不对?
                2、此句是不是设定在datatablechanging中
              3、这种嵌套遍历是不是会很慢?

如果想把所有表设置为当前行为突出显示呢,又如何做?

For Each dt As DataTable In DataTables '遍历所有表
    If dt.DataCols.Contains("审核") Then
        Dim cmd As new SQLCommand
        cmd.CommandText = "update {" & dt.Name & "} set [_Locked] = true where [审核] = true "

        cmd.ExecuteNonQuery
        dt.Load
    End If
Next

只要设置一个按钮执行就行了,不需要放到表事件里,而且这个只需要执行一次,不需要每次启动执行,锁定行是永久性的


 回到顶部