Foxtable(狐表)用户栏目专家坐堂 → [求助]关于临时表自动销毁和.CreateFromTable无法设置主键的问题


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

主题:[求助]关于临时表自动销毁和.CreateFromTable无法设置主键的问题

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


加好友 发短信
等级:婴狐 帖子:36 积分:351 威望:0 精华:0 注册:2015/11/16 15:00:00
[求助]关于临时表自动销毁和.CreateFromTable无法设置主键的问题  发帖心情 Post By:2020/12/17 17:54:00 [只看该作者]

老大帮忙看一下吧,正在做一个基于企业微信的合同查询项目,这段是在做一个合同额的分段统计

Dim g As New GroupTableBuilder("htfdhz", DataTables("ht"))
g.Caption = "合同分段汇总"
g.Groups.AddDef("zjfd")
g.Totals.AddDef("F_252", AggregateEnum.Count, "数量")
g.Totals.AddDef("F_252", "金额")
g.SubTotal = True
g.GroupProportion = True
g.GrandProportion = True
g.Filter = flt & " And [F_275] <> '' and [F_696] = ''"
g.Build()

第一个问题,g.Build()中如果使用了True属性不生成table并自动销毁,后面.CreateFromDataTable时会出错,提示找不到数据表,这个怎么解决?挂在系统里一个临时表看着就难受.

Dim wb As New WeUI
        With wb.AddTable("","Table1")
            .Primarykey = "zjfd"
            .ActiveSheet = "menu"
            .CreateFromDataTable(DataTables("htfdhz"),False)

第二个问题,因为前面不能使用True属性,干脆这里使用了.CreateFromTable来生成表格,省的再手工添加合计行了.结果发现使用.CreateFromDataTable生成,.Primarykey是起作用的,如果使用.CreateFromTable,.Primarykey就无效了,怎么解决?

        End With
        With wb.AddActionSheet("","menu") '设计菜单
            .Add("display", "查看详细").Attribute="" '调用js函数
            .Add("mnuCancel","取消","",True)
        End With
wb.AppendHTML("<script src='./lib/table.js'></script>") '引入脚本文件
e.writestring(wb.Build)
[此贴子已经被作者于2020/12/17 17:57:05编辑过]

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


加好友 发短信
等级:婴狐 帖子:36 积分:351 威望:0 精华:0 注册:2015/11/16 15:00:00
  发帖心情 Post By:2020/12/17 17:55:00 [只看该作者]

'<table id='table1' name='table1' class='fox_table fox_highligh_row fox_highligh_col' data-fixed='1' data-cols='5' data-activesheet='menu'>
'<thead>
'<tr><th data-idx='0'>造价分段</th><th data-idx='1'>数量</th><th data-idx='2'>数量占比</th><th data-idx='3'>金额</th><th data-idx='4'>金额占比</th></tr>
'</thead>
'<tbody>
'<tr data-key='02.大于等于5000万'><td>02.大于等于5000万</td><td>2</td><td>0.82%</td><td>10547.67</td><td>19.60%</td></tr>
'<tr data-key='03.大于等于3000万'><td>03.大于等于3000万</td><td>1</td><td>0.41%</td><td>3200.00</td><td>5.95%</td></tr>
'<tr data-key='04.大于等于2000万'><td>04.大于等于2000万</td><td>1</td><td>0.41%</td><td>2000.00</td><td>3.72%</td></tr>
'<tr data-key='05.大于等于1000万'><td>05.大于等于1000万</td><td>10</td><td>4.08%</td><td>13986.18</td><td>25.99%</td></tr>
'<tr data-key='06.大于等于500万'><td>06.大于等于500万</td><td>13</td><td>5.31%</td><td>8894.26</td><td>16.53%</td></tr>
'<tr data-key='07.大于等于400万'><td>07.大于等于400万</td><td>4</td><td>1.63%</td><td>1817.26</td><td>3.38%</td></tr>
'<tr data-key='08.大于等于300万'><td>08.大于等于300万</td><td>5</td><td>2.04%</td><td>1830.66</td><td>3.40%</td></tr>
'<tr data-key='09.大于等于200万'><td>09.大于等于200万</td><td>13</td><td>5.31%</td><td>2988.78</td><td>5.55%</td></tr>
'<tr data-key='10.大于等于100万'><td>10.大于等于100万</td><td>31</td><td>12.65%</td><td>4313.03</td><td>8.02%</td></tr>
'<tr data-key='11.大于等于50万'><td>11.大于等于50万</td><td>35</td><td>14.29%</td><td>2638.85</td><td>4.90%</td></tr>
'<tr data-key='12.小于50万'><td>12.小于50万</td><td>130</td><td>53.06%</td><td>1587.29</td><td>2.95%</td></tr>
'</tbody>
'</table>

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


加好友 发短信
等级:婴狐 帖子:36 积分:351 威望:0 精华:0 注册:2015/11/16 15:00:00
  发帖心情 Post By:2020/12/17 17:56:00 [只看该作者]

'<table id='table1' name='table1' class='fox_table fox_highligh_row fox_highligh_col' data-fixed='1' data-cols='5' data-activesheet='menu'>
'<thead>
'<tr><th data-idx='0'>造价分段</th><th data-idx='1'>数量</th><th data-idx='2'>数量占比</th><th data-idx='3'>金额</th><th data-idx='4'>金额占比</th></tr>
'</thead>
'<tbody>
'<tr><td>02.大于等于5000万</td><td>2</td><td>0.82%</td><td>10547.6689</td><td>19.60%</td></tr>
'<tr><td>03.大于等于3000万</td><td>1</td><td>0.41%</td><td>3200</td><td>5.95%</td></tr>
'<tr><td>04.大于等于2000万</td><td>1</td><td>0.41%</td><td>2000</td><td>3.72%</td></tr>
'<tr><td>05.大于等于1000万</td><td>10</td><td>4.08%</td><td>13986.182</td><td>25.99%</td></tr>
'<tr><td>06.大于等于500万</td><td>13</td><td>5.31%</td><td>8894.2639</td><td>16.53%</td></tr>
'<tr><td>07.大于等于400万</td><td>4</td><td>1.63%</td><td>1817.2585</td><td>3.38%</td></tr>
'<tr><td>08.大于等于300万</td><td>5</td><td>2.04%</td><td>1830.6628</td><td>3.40%</td></tr>
'<tr><td>09.大于等于200万</td><td>13</td><td>5.31%</td><td>2988.7767</td><td>5.55%</td></tr>
'<tr><td>10.大于等于100万</td><td>31</td><td>12.65%</td><td>4313.0344</td><td>8.02%</td></tr>
'<tr><td>11.大于等于50万</td><td>35</td><td>14.29%</td><td>2638.8513</td><td>4.90%</td></tr>
'<tr><td>12.小于50万</td><td>130</td><td>53.06%</td><td>1587.29</td><td>2.95%</td></tr>
'<tr><td>总计</td><td>245</td><td>100.00%</td><td>53803.9885</td><td>100.00%</td></tr>
'</tbody>
'</table>

 回到顶部
帅哥,在线噢!
有点蓝
  4楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:超级版主 帖子:107863 积分:548678 威望:0 精华:9 注册:2015/6/24 9:21:00
  发帖心情 Post By:2020/12/17 20:10:00 [只看该作者]

dim dt as datatable = g.Build(true)
……
.CreateFromDataTable(dt,False)

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


加好友 发短信
等级:婴狐 帖子:36 积分:351 威望:0 精华:0 注册:2015/11/16 15:00:00
  发帖心情 Post By:2020/12/18 15:13:00 [只看该作者]

明白了,最初也这样定义了一个datatable接收统计表,但是在生成表格时用了.CreateFromDataTable(datatables("dt"),False)导致失败了.

 回到顶部