以文本方式查看主题

-  Foxtable(狐表)  (http://foxtable.com/bbs/index.asp)
--  专家坐堂  (http://foxtable.com/bbs/list.asp?boardid=2)
----  江湖救急 谢谢  (http://foxtable.com/bbs/dispbbs.asp?boardid=2&id=127655)

--  作者:ezilu
--  发布时间:2018/11/19 13:03:00
--  江湖救急 谢谢
Dim dtb As New DataTableBuilder("医师工作量计")
dtb.AddDef("全刀医师", Gettype(String), 16)
Dim prds As List(of String) = DataTables("患者信息").GetValues("手术类型")
For Each prd As String In prds
dtb.AddDef(prd & "_全刀台次", Gettype(Integer))
dtb.AddDef(prd & "_全刀费", Gettype(Double))
Next 

dtb.Build()

For Each cus As String In DataTables("患者信息").GetValues("全刀医师")
Dim dr As DataRow = DataTables("医师工作量计").AddNew()
dr("全刀医师") = cus
For Each prd As String In prds
dr(prd & "_全刀台次") = DataTables("患者信息").Compute("Count(患者姓名)","全刀医师 = \'" & cus & "\' And [手术类型] = \'" & prd & "\'")
dr(prd & "_全刀费") = DataTables("患者信息").Compute("Sum(全刀手术费)","全刀医师 = \'" & cus & "\' And [手术类型] = \'" & prd & "\'")
Next
Next
Tables("工作量计_Table1").DataSource = dtb.BuildDataSource()


这段代码  可以 达到  新建一个临时表  而且统计数据无错  但是 绑定的窗口_Table1种  只显示  行名  和  列名   没有数据逐条显示

但是  我想实现   这个临时表 只在绑定的窗口_Table1种显示,不要生成一个临时表

怎么实现?谢谢大大
[此贴子已经被作者于2018/11/19 13:13:29编辑过]

--  作者:有点甜
--  发布时间:2018/11/19 14:48:00
--  

Tables("工作量计_Table1").DataSource = dtb.BuildDataSource()

 

改成

 

Tables("工作量计_Table1").DataSource = DataTables("医师工作量计")


--  作者:ezilu
--  发布时间:2018/11/20 16:29:00
--  
谢大大,但是还是会显示一个临时表,可以用“new GroupDataTable”实现?这个好像不现实临时表
--  作者:有点色
--  发布时间:2018/11/20 17:43:00
--  
以下是引用ezilu在2018/11/20 16:29:00的发言:
谢大大,但是还是会显示一个临时表,可以用“new GroupDataTable”实现?这个好像不现实临时表

 

如果想不生成临时表,参考

 

Dim dtb As New DataTableBuilder("医师工作量计")
dtb.AddDef("全刀医师", Gettype(String), 16)
Dim prds As List(of String) = DataTables("患者信息").GetValues("手术类型")
For Each prd As String In prds
    dtb.AddDef(prd & "_全刀台次", Gettype(Integer))
    dtb.AddDef(prd & "_全刀费", Gettype(Double))
Next

Dim dt As DataTable = dtb.Build(True)

For Each cus As String In DataTables("患者信息").GetValues("全刀医师")
    Dim dr As DataRow = dt.AddNew()
    dr("全刀医师") = cus
    For Each prd As String In prds
        dr(prd & "_全刀台次") = DataTables("患者信息").Compute("Count(患者姓名)","全刀医师 = \'" & cus & "\' And [手术类型] = \'" & prd & "\'")
        dr(prd & "_全刀费") = DataTables("患者信息").Compute("Sum(全刀手术费)","全刀医师 = \'" & cus & "\' And [手术类型] = \'" & prd & "\'")
    Next
Next
Tables("工作量计_Table1").DataSource = dt

[此贴子已经被作者于2018/11/20 17:43:20编辑过]