以文本方式查看主题 - Foxtable(狐表) (http://foxtable.com/bbs/index.asp) -- 专家坐堂 (http://foxtable.com/bbs/list.asp?boardid=2) ---- [求助]自定义样式统一设置 (http://foxtable.com/bbs/dispbbs.asp?boardid=2&id=194182) |
-- 作者:lgj716330 -- 发布时间:2024/11/15 18:32:00 -- [求助]自定义样式统一设置 在项目AfterOpenProject事件中设置了以下代码 For Each t As DataTable In DataTables t.AddUserStyle("红色", Color.Red, Color.White) t.AddUserStyle("橙色", Color.Orange, Color.White) t.AddUserStyle("黄色", Color.Yellow, Color.White) t.AddUserStyle("绿色", Color.Green, Color.White) Next 然后在全局表事件DrawCell中如下设置 Select Case e.Table.Name Case "测试数据","示例_Table1" If e.Col.Name = "本期销售" Then If e.Row.IsNull(e.Col.Name) = False Then If e.Row("本期销售") < 80 Then e.Style = "橙色" End If End If End If End Select 其中"测试数据"是项目固定的表,"示例_Table1"是窗口统计生成的,但上述设置对"测试数据"有效,对"示例_Table1"无效,不知什么原因。"示例_Table1"代码如下 Dim b As New SQLGroupTableBuilder("统计表1", "测试数据") b.C b.Groups.AddDef("年份") b.Groups.AddDef("月份") b.Totals.AddDef("本期销售") b.Totals.AddDef("同期销售") b.Build Tables("示例_Table1").DataSource = DataTables("统计表1") Dim t As Table = Tables("示例_Table1") t.DataTable.GlobalHandler.DrawCell = True [此贴子已经被作者于2024/11/15 18:54:31编辑过]
|
-- 作者:有点蓝 -- 发布时间:2024/11/16 8:50:00 -- Dim b As New SQLGroupTableBuilder("统计表1", "测试数据") b.C b.Groups.AddDef("年份") b.Groups.AddDef("月份") b.Totals.AddDef("本期销售") b.Totals.AddDef("同期销售") Tables("示例_Table1").DataSource = b.BuildDataSource Dim t As Table = Tables("示例_Table1") t.DataTable.GlobalHandler.DrawCell = True |
-- 作者:lgj716330 -- 发布时间:2024/11/16 9:43:00 -- 不是这个原因,这些都测过,经反复测试是窗口设置的问题,必须得自动打开为true才有效 |
-- 作者:有点蓝 -- 发布时间:2024/11/16 10:06:00 -- Dim b As New SQLGroupTableBuilder("统计表1", "测试数据") b.C b.Groups.AddDef("年份") b.Groups.AddDef("月份") b.Totals.AddDef("本期销售") b.Totals.AddDef("同期销售") Tables("示例_Table1").DataSource = b.BuildDataSource Dim t As Table = Tables("示例_Table1") t.DataTable.GlobalHandler.DrawCell = True t.DataTable.AddUserStyle("红色", Color.Red, Color.White) t.DataTable.AddUserStyle("橙色", Color.Orange, Color.White) t.DataTable.AddUserStyle("黄色", Color.Yellow, Color.White) t.DataTable.AddUserStyle("绿色", Color.Green, Color.White) |
-- 作者:lgj716330 -- 发布时间:2024/11/16 11:42:00 -- 在菜单中弄了个自定义表样式,如何实现选择样式后能保存住,下次进系统不需要重新选择 [此贴子已经被作者于2024/11/16 11:43:16编辑过]
|
-- 作者:有点蓝 -- 发布时间:2024/11/16 12:19:00 -- 1、把选择的项保存到设置里:http://www.foxtable.com/webhelp/topics/1544.htm 2、项目启动的时候到AfterOpenProject事件从设置里取值重新设置表样式 |
-- 作者:lgj716330 -- 发布时间:2024/11/16 14:40:00 -- 我在组合框的SelectedIndexChanged事件中如下设置 If e.ComboBox.Text.Length > 0 Then SaveConfigValue("xtys", e.ComboBox.Text) Else SaveConfigValue("mrxtys", e.ComboBox.Text) End if 然后在AfterOpenProject事件中如下设置,结果还是不行 GetConfigValue("xtys","mrxtys") |
-- 作者:有点蓝 -- 发布时间:2024/11/16 14:45:00 -- GetConfigValue只是获取到设置的值,并没有给组合框设置 |
-- 作者:有点蓝 -- 发布时间:2024/11/16 14:50:00 -- 组合框的SelectedIndexChanged事件中如下设置 If e.ComboBox.Text > "" Then SaveConfigValue("xtys", e.ComboBox.Text) End if AfterOpenProject事件 dim s as string = GetConfigValue("xtys","mrxtys") RibbonTabs("功能区1").Groups("功能组1").Items("组合框1").Text = s |
-- 作者:lgj716330 -- 发布时间:2024/11/17 11:24:00 -- MainTableChanged事件 Dim dr1 As DataRow Dim dr2 As DataRow dr1 = DataTables("自定义样式配置表").Find("表名 =\'" & MainTable.Name & "\' and 系统内置表样式 is not null and 设置人 =\'" & _UserName & "\'") dr2 = DataTables("自定义样式配置表").Find("表名 =\'" & MainTable.Name & "\' and 自定义表样式 is not null and 设置人 =\'" & _UserName & "\'") If dr1 IsNot Nothing Then RibbonTabs("hlcz").Groups("bcz").Items("zdybdys").Items("xtbdys").Text = dr1("系统内置表样式") MainTable.Theme = dr1("系统内置表样式") ElseIf dr2 IsNot Nothing Then RibbonTabs("hlcz").Groups("bcz").Items("zdybdys").Items("zdybys").Text = dr2("自定义表样式") MainTable.Theme = dr2("自定义表样式") End If 系统内置表样式没有问题,自定义表样式是自己整的一个样式,在菜单中选择设置时也没有问题,但设置完成后切换到其他表再切换回来时就提示错误 另外,下面这两种也有同样问题 Tables("表A").Theme = "(none)" Tables("表B").Theme = "(default)" [此贴子已经被作者于2024/11/17 12:21:58编辑过]
|