以文本方式查看主题 - Foxtable(狐表) (http://foxtable.net/bbs/index.asp) -- 专家坐堂 (http://foxtable.net/bbs/list.asp?boardid=2) ---- drawcell的问题 (http://foxtable.net/bbs/dispbbs.asp?boardid=2&id=170012) |
-- 作者:douglas738888 -- 发布时间:2021/7/9 10:43:00 -- drawcell的问题 请教老师,垂直表转横置表后,有什么办法能标注借出档号的文字颜色? 例: 垂直表A (表A的文字颜色根据逻辑列勾选条件已经能实现) 档号 类别 文件 借出 ........ 001 财务 AAAA √ 002 工程 BBBB 003 财务 CCCC 004 市场 DDDD √ .......... 转换横置表B (表B没有借出列,drawcell要标注文字颜色,条件代码无法设置) 类别 列1 列2 ........ 财务 001 003 工程 002 市场 004 ............
|
-- 作者:有点蓝 -- 发布时间:2021/7/9 10:48:00 -- if e.col.name = "列1" if tables("表A").compute("count(档号)","档号=\'" & e.row("列1") & "\' and 借出=true") > 0 then e.style = "样式1" end if end if
|
-- 作者:douglas738888 -- 发布时间:2021/7/9 10:59:00 -- 老师,这个方法,我曾经想到,问题是列1列2....是不固定的,动态增加的,无法写死e.row("列1"),我用Contains也不行 |
-- 作者:有点蓝 -- 发布时间:2021/7/9 11:02:00 -- 怎么动态增加的?列名有没有什么规律? |
-- 作者:douglas738888 -- 发布时间:2021/7/9 11:23:00 -- 垂直表A (表A的文字颜色根据逻辑列勾选条件已经能实现) 档号 类别 文件 借出 ........ 001 财务 AAAA √ 002 工程 BBBB 003 财务 CCCC 004 市场 DDDD √ 005 财务 EEEE 006 财务 FFFF 007 财务 GGGG 转换横置表B (例如,类型是财务,档号和文件是动态增加) 类别 列1 列2 列3 列4 列5 ....... 财务 001 003 005 006 007 ....... 工程 002 市场 004 ............
|
-- 作者:有点蓝 -- 发布时间:2021/7/9 11:32:00 -- 表B的列是怎么动态增加的?列名有没有什么规律? |
-- 作者:douglas738888 -- 发布时间:2021/7/9 12:32:00 -- 表A 有一列分序号隐藏了,是为转换横表设置的排序使用的,表B的的列1列2.....由分序号动态产生 \'------------------分序号·用于垂直表转换横表 If e.DataCol.Name = "完成" Then If e.DataRow("完成") = True Then Dim Val As Integer Val = DataTables("表A").SQLCompute("Max(分序号)","类别 = \'" & e.DataRow("类别") & "\'") e.DataRow("分序号") = Val+1 End If End If 转换横表 Dim dtb As New DataTableBuilder("表B") dtb.AddDef("类别", Gettype(String), 10) For Each v As String In DataTables("表A").SQLGetValues("分序号") dtb.AddDef(v, Gettype(String)) Next Tables("表B").DataSource = dtb.BuildDataSource() For Each v As String In DataTables("表A").SQLGetValues("类别") Dim dr1 As DataRow = DataTables("表B").AddNew() dr1("类别") = v For Each dr2 As DataRow In DataTables("表A").SQLSelect("类别 = \'" & v & "\'") dr1(dr2("分序号")) = dr2("档号") Next Next |
-- 作者:有点蓝 -- 发布时间:2021/7/9 13:38:00 -- if e.col.name <> "类别" if tables("表A").compute("count(档号)","档号=\'" & e.row(e.col.name) & "\' and 借出=true") > 0 then e.style = "样式1" end if end if
|