Foxtable(狐表)用户栏目专家坐堂 → Datacolchanged代码问题求助!!!


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

主题:Datacolchanged代码问题求助!!!

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


加好友 发短信
等级:版主 帖子:85326 积分:427815 威望:0 精华:5 注册:2012/10/18 22:13:00
  发帖心情 Post By:2014/8/18 15:35:00 [显示全部帖子]

 如果是表达式列,那么你就得去找到对应的列写代码。

 

 比如 如果总印次=sum(数量) 那么你就得去子表写代码

 

If e.DataCol.name = "数量" Then
    DataTables("父表").DataCols("工资").RaiseDataColChanged("关联列 = '" & e.DataRow("关联列") & "'")
End If

 

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

 

父表Datacolchanged

 

If e.DataCol.name="工资" Then
     If e.DataRow("总印次")<70000 Then
         e.DataRow("工资")=e.DataRow("总印次")/70000 * e.DataRow("总印次") * 26 / 10000
     Else If e.DataRow("总印次")>=70000 Then
         e.DataRow("工资")=((e.DataRow("总印次") - 70000) * 26 * 1.5 + 70000 * 26 ) / 10000
     End If
End If

 


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


加好友 发短信
等级:版主 帖子:85326 积分:427815 威望:0 精华:5 注册:2012/10/18 22:13:00
  发帖心情 Post By:2014/8/18 17:08:00 [显示全部帖子]

 看4楼,然后写这句代码

 

DataTables("父表").DataCols("工资").RaiseDataColChanged()


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


加好友 发短信
等级:版主 帖子:85326 积分:427815 威望:0 精华:5 注册:2012/10/18 22:13:00
  发帖心情 Post By:2014/8/18 19:22:00 [显示全部帖子]

 看你的图,你是需要添加一列工资列,然后显示工资吗?

 

 还是其他?你做个小例子上来说明


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


加好友 发短信
等级:版主 帖子:85326 积分:427815 威望:0 精华:5 注册:2012/10/18 22:13:00
  发帖心情 Post By:2014/8/19 9:27:00 [显示全部帖子]

在后面加入代码

 

DataTables("统计表1").DataCols.Add("工资", Gettype(Double))

For Each dr As DataRow In DataTables("统计表1").DataRows
    If dr("总印次/天")<70000 Then
        dr("工资")=dr("总印次")/70000 * dr("总印次/天") * 26 / 10000
    Else If dr("总印次/天")>=70000 Then
        dr("工资")=((dr("总印次/天") - 70000) * 26 * 1.5 + 70000 * 26 ) / 10000
    End If
Next

 


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


加好友 发短信
等级:版主 帖子:85326 积分:427815 威望:0 精华:5 注册:2012/10/18 22:13:00
  发帖心情 Post By:2014/8/19 14:08:00 [显示全部帖子]

e.Form.Controls("Table1").Visible = True
Dim g As New GroupTableBuilder("统计表1", DataTables("平张4开机工价"))
g.Groups.AddDef("日期", DateGroupEnum.Year, "年")
g.Groups.AddDef("日期", "月")
g.Groups.AddDef("日期", DateGroupEnum.Day, "日")
g.Groups.AddDef("人员")
g.Totals.AddDef("总印次", "总印次/天")
g.SubTotal = True
g.FromServer = True
g.Build()

DataTables("统计表1").DataCols.Add("工资", Gettype(Double))
Tables("平张机4开工资直接统计_Table1").DataSource = g.BuildDataSource()
For Each dr As DataRow In DataTables("统计表1").DataRows
    If dr("总印次/天")<70000 Then
        dr("工资")=dr("总印次")/70000 * dr("总印次/天") * 26 / 10000
    Else If dr("总印次/天")>=70000 Then
        dr("工资")=((dr("总印次/天") - 70000) * 26 * 1.5 + 70000 * 26 ) / 10000
    End If
Next


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


加好友 发短信
等级:版主 帖子:85326 积分:427815 威望:0 精华:5 注册:2012/10/18 22:13:00
  发帖心情 Post By:2014/8/19 15:13:00 [显示全部帖子]

不可能

 

e.Form.Controls("Table1").Visible = True
Dim g As New GroupTableBuilder("统计表1", DataTables("平张4开机工价"))
g.Groups.AddDef("日期", DateGroupEnum.Year, "年")
g.Groups.AddDef("日期", "月")
g.Groups.AddDef("日期", DateGroupEnum.Day, "日")
g.Groups.AddDef("人员")
g.Totals.AddDef("总印次", "总印次/天")
g.SubTotal = True
g.FromServer = True
g.Build()

'DataTables("统计表1").DataCols.Add("工资", Gettype(Double))
Tables("平张机4开工资直接统计_Table1").DataSource = g.BuildDataSource()

Tables("平张机4开工资直接统计_Table1").DataTable.DataCols.Add("工资", Gettype(Double))
For Each dr As DataRow In DataTables("统计表1").DataRows
    If dr("总印次/天")<70000 Then
        dr("工资")=dr("总印次")/70000 * dr("总印次/天") * 26 / 10000
    Else If dr("总印次/天")>=70000 Then
        dr("工资")=((dr("总印次/天") - 70000) * 26 * 1.5 + 70000 * 26 ) / 10000
    End If
Next


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


加好友 发短信
等级:版主 帖子:85326 积分:427815 威望:0 精华:5 注册:2012/10/18 22:13:00
  发帖心情 Post By:2014/8/19 17:55:00 [显示全部帖子]

e.Form.Controls("Table1").Visible = True
Dim g As New GroupTableBuilder("统计表1", DataTables("平张4开机工价"))
g.Groups.AddDef("日期", DateGroupEnum.Year, "年")
g.Groups.AddDef("日期", "月")
g.Groups.AddDef("日期", DateGroupEnum.Day, "日")
g.Groups.AddDef("人员")
g.Totals.AddDef("总印次", "总印次/天")
g.SubTotal = True
g.FromServer = True
g.Build()

'DataTables("统计表1").DataCols.Add("工资", Gettype(Double))
Tables("平张机4开工资直接统计_Table1").DataSource = g.BuildDataSource()

Tables("平张机4开工资直接统计_Table1").DataTable.DataCols.Add("工资", Gettype(Double))
For Each dr As Row in Tables("平张机4开工资直接统计_Table1").Rows
    If dr("总印次/天")<70000 Then
        dr("工资")=dr("总印次")/70000 * dr("总印次/天") * 26 / 10000
    Else If dr("总印次/天")>=70000 Then
        dr("工资")=((dr("总印次/天") - 70000) * 26 * 1.5 + 70000 * 26 ) / 10000
    End If
Next

[此贴子已经被作者于2014-8-19 17:55:30编辑过]

 回到顶部