Foxtable(狐表)用户栏目专家坐堂 → 2个问题


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

主题:2个问题

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


加好友 发短信
等级:婴狐 帖子:54 积分:569 威望:0 精华:1 注册:2009/4/19 21:29:00
2个问题  发帖心情 Post By:2009/5/25 17:21:00 [只看该作者]

问题 :
图片点击可在新窗口打开查看此主题相关图片如下:1212.bmp
图片点击可在新窗口打开查看
附件:
 下载信息  [文件大小:   下载次数: ]
图片点击可在新窗口打开查看点击浏览该文件:管理项目3.table

好不容易装上了5.12更新的程序 请大家帮忙

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


加好友 发短信
等级:管理员 帖子:47497 积分:251403 威望:0 精华:91 注册:2008/6/17 17:14:00
  发帖心情 Post By:2009/5/25 17:36:00 [只看该作者]

1、参数列设置了表达式:
Parent(A).参数值
这样该列的值就等于父表参数列的值,这是无法更改的。

2、表达式列是不会触发DataColChanged的事件的,既然该列的值来自于父表,那么实际上该列的值就取决于关联列“参数代号”,所以代码可以改为:

Dim dr As DataRow = e.DataRow
Select Case e.DataCol.Name
    Case "参数代号"
        dr("表达式") = "W" & "-" & dr("参数值") & "*" & "2"
End Select

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


加好友 发短信
等级:婴狐 帖子:54 积分:569 威望:0 精华:1 注册:2009/4/19 21:29:00
  发帖心情 Post By:2009/5/25 17:42:00 [只看该作者]

那用什么方法  才能解决 比如:  得到sc2-sc1 的值呢

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


加好友 发短信
等级:管理员 帖子:47497 积分:251403 威望:0 精华:91 注册:2008/6/17 17:14:00
  发帖心情 Post By:2009/5/25 18:04:00 [只看该作者]

你的规律是什么?
不是单单就是这两行吧?

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


加好友 发短信 一级勋章
等级:MVP荣誉狐 帖子:5154 积分:31434 威望:0 精华:8 注册:2008/9/8 12:27:00
  发帖心情 Post By:2009/5/25 18:10:00 [只看该作者]

1. 不明白你的意思!~ 再说,你的父表没有 CS2-CS1 子表怎么会有???

2. 代码应放在‘参数明细’表里:datacolchanged:::::

Dim dr As DataRow = e.DataRow
Select Case e.DataCol.Name
    Case "参数值"
 dr= datatables("表达式明细").find("[参数代号] = '" & currentTable.Current("参数代号") & "'")
 If dr IsNot Nothing Then
        dr("表达式") = "W" & "-" & dr("参数值") & "*" & "2"
end if
End Select

上面只对找到的子表的一条记录有效,要对所有‘参数代码’相同的行有效,这样:
Select Case e.DataCol.Name
    Case "参数值"
        Dim drs As List(Of DataRow)
        drs = DataTables("表达式明细").Select("[参数代号] = '" & currentTable.Current("参数代号") & "'")
        For Each dr As Datarow In drs
            dr("表达式") = "W" & "-" & dr("参数值") & "*" & "2"            
        Next
End Select
[此贴子已经被作者于2009-5-25 18:28:08编辑过]

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


加好友 发短信
等级:八尾狐 帖子:1812 积分:12999 威望:0 精华:14 注册:2008/10/11 18:07:00
  发帖心情 Post By:2009/5/25 18:39:00 [只看该作者]


参数值列改为:数据列,字符型:

Dim T,T1 As String
Dim dr As DataRow = e.DataRow
Select Case e.DataCol.Name
    Case "参数代号"
       
        if dr.Isnull("参数代号")=False then
           if dr("参数代号").Contains("-") then
               for each T1 In dr("参数代号").split("-")
                  T = T & "-" & DataTables("参数明细").Find("参数代号 = '" & T1 & "'")("参数值")
               Next
               T = T.Trim("-")
           else
               T = DataTables("参数明细").Find("参数代号 = '" & dr("参数代号") & "'")("参数值")
           end if              
               dr("参数值") = T
               dr("表达式") = "W" & "-" & dr("参数值") & "*" & "2"
           else
               dr("参数值") = Nothing
               dr("表达式") = ""            
            end if
 
End Select
[此贴子已经被作者于2009-5-25 18:41:34编辑过]

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


加好友 发短信 一级勋章
等级:MVP荣誉狐 帖子:5154 积分:31434 威望:0 精华:8 注册:2008/9/8 12:27:00
  发帖心情 Post By:2009/5/25 18:40:00 [只看该作者]

以下是引用hlxz在2009-5-25 17:42:00的发言:
那用什么方法  才能解决 比如:  得到sc2-sc1 的值呢

这个值是从父表中取得的(Parent(A).参数值),父表是要输入的呀~ ?


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


加好友 发短信
等级:婴狐 帖子:54 积分:569 威望:0 精华:1 注册:2009/4/19 21:29:00
  发帖心情 Post By:2009/5/25 20:55:00 [只看该作者]

很感謝各位的幫忙,特別鳴謝   mr725 特理解我的思路,呵呵
Select Case e.DataCol.Name
    Case "参数值"
        Dim drs As List(Of DataRow)
        drs = DataTables("表达式明细").Select("[参数代号] = '" & currentTable.Current("参数代号") & "'")
        For Each dr As Datarow In drs
            dr("表达式") = "W" & "-" & dr("参数值") & "*" & "2"            
        Next
End Select

要对所有‘参数代码’相同的行有效,这样:
Select Case e.DataCol.Name
    Case "参数值"
        Dim drs As List(Of DataRow)
        drs = DataTables("表达式明细").Select("[参数代号] = '" & currentTable.Current("参数代号") & "'")
        For Each dr As Datarow In drs
            dr("表达式") = "W" & "-" & dr("参数值") & "*" & "2"            
        Next
End Select

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


加好友 发短信 一级勋章
等级:MVP荣誉狐 帖子:5154 积分:31434 威望:0 精华:8 注册:2008/9/8 12:27:00
  发帖心情 Post By:2009/5/26 10:08:00 [只看该作者]

我这个代码属于小儿科,6楼don的更经典!~

 回到顶部