以文本方式查看主题 - Foxtable(狐表) (http://foxtable.net/bbs/index.asp) -- 专家坐堂 (http://foxtable.net/bbs/list.asp?boardid=2) ---- 窗口关闭时出现错误提示 (http://foxtable.net/bbs/dispbbs.asp?boardid=2&id=95558) |
-- 作者:qwz405 -- 发布时间:2017/1/23 14:20:00 -- 窗口关闭时出现错误提示 单选框的代码如下所示,只要是选中了,那关闭的时候就会有错误提示: 类似代码在别的地方都有用,使用都是正常的。
Dim cmd As New SQLCommand Dim dt As Date cmd.ConnectionName *** cmd.CommandText *** dt = cmd.ExecuteScalar() Dim y As Integer = dt.Year \'获得当前所在的年度 Dim nian As WinForm.ComboBox = e.Form.Controls("comnian") \'年度取值框数据 nian.Value = y Dim dt2 As Date = New Date(y,1,1) \'获得当前所在年度的第一天 Dim l2 As WinForm.Label = e.Form.Controls("Label2") \'描述 l2.Visible = False Dim g As New GroupTableBuilder("统计表1", DataTables("客户抱怨")) g.Groups.AddDef("机型") g.Totals.AddDef("抱怨编号", AggregateEnum.Count, "笔数") g.Totals.AddDef("数量") \'g.VerticalTotal = True \'不能使用合计行,不然排序时会显示到最上方 g.FromServer = True g.Filter = "抱怨日期 >= \'"& dt2 &"\' and 抱怨日期 < \'"& dt2.AddYears(1) &"\'" \'g.Build() \'MainTable = Tables("统计表1") Tables("抱怨_TOP榜_Table1").DataSource = g.BuildDataSource Tables("抱怨_TOP榜_Table1").font = New Font("微软雅黑", 14) \'设置字体 Tables("抱怨_TOP榜_Table1").Cols("机型").Width = 145 \'设置列宽 Tables("抱怨_TOP榜_Table1").Cols("笔数").Width = 105 Tables("抱怨_TOP榜_Table1").Cols("数量").Width = 105 Tables("抱怨_TOP榜_Table1").Sort = "笔数 Desc" With Tables("抱怨_TOP榜_Table1") \'自动合计行 .Cols("笔数").GrandTotal = True .Cols("数量").GrandTotal = True .GrandTotal = True End With DataTables("抱怨_TOP榜_Table1").SysStyles("Alternate").BackColor = Color.LightCyan \'设置交替行颜色 DataTables("抱怨_TOP榜_Table1").SysStyles("EmptyArea").BackColor = Color.LightBLue \'设置背景颜色 [此贴子已经被作者于2017/1/23 14:23:58编辑过]
|
-- 作者:有点蓝 -- 发布时间:2017/1/23 15:34:00 -- 表控件名是否正确?,这种方式试试 Dim t As Table = Forms("MainForm").Controls("Table1").Table t.DataSource = g.BuildDataSource t.font = New Font("微软雅黑", 14) \'设置字体 t.Cols("机型").Width = 145 \'设置列宽 t.Cols("笔数").Width = 105 t.Cols("数量").Width = 105 t.Sort = "笔数 Desc" |
-- 作者:qwz405 -- 发布时间:2017/1/23 15:47:00 -- 修改代码后,还是找不到表 但表应该是存在的,它的数据都能正常显示出来,很奇怪~ Dim t As Table = Forms("抱怨_TOP榜").Controls("Table1").Table t.****
|
-- 作者:有点蓝 -- 发布时间:2017/1/23 16:01:00 -- DataTables("抱怨_TOP榜_Table1").SysStyles("Alternate").BackColor = Color.LightCyan 改为 t.DataTable.SysStyles("Alternate").BackColor = Color.LightCyan
|
-- 作者:qwz405 -- 发布时间:2017/1/23 16:13:00 -- 不是这个原因,我把后面的合计行,表格样式设定都注释了,还是如此。 问题出在这个语句,但不知道为什么? Dim t As Table = Forms("抱怨_TOP榜").Controls("Table1").Table t.DataSource = g.BuildDataSource [此贴子已经被作者于2017/1/23 16:13:55编辑过]
|
-- 作者:有点蓝 -- 发布时间:2017/1/23 16:31:00 -- "机型"、"抱怨编号"、"数量"是不是有表达式列? |
-- 作者:qwz405 -- 发布时间:2017/1/23 16:36:00 -- 现在不喜欢用表达式列了 [此贴子已经被作者于2017/1/23 16:37:24编辑过]
|
-- 作者:有点蓝 -- 发布时间:2017/1/23 17:34:00 -- 上例子看看 Dim g As New GroupTableBuilder("统计表1", DataTables("客户抱怨")) g.Groups.AddDef("机型") g.Totals.AddDef("抱怨编号", AggregateEnum.Count, "笔数") g.Totals.AddDef("数量") \'g.VerticalTotal = True \'不能使用合计行,不然排序时会显示到最上方 g.FromServer = True g.Filter = "抱怨日期 >= \'"& dt2 &"\' and 抱怨日期 < \'"& dt2.AddYears(1) &"\'" g.Build() MainTable = Tables("统计表1") |
-- 作者:有点色 -- 发布时间:2017/1/24 2:04:00 -- 以下是引用qwz405在2017/1/23 16:13:00的发言:
不是这个原因,我把后面的合计行,表格样式设定都注释了,还是如此。 问题出在这个语句,但不知道为什么?
Dim t As Table = Forms("抱怨_TOP榜").Controls("Table1").Table
t.DataSource = g.BuildDataSource [此贴子已经被作者于2017/1/23 16:13:55编辑过]
这句代码报错?你确定你的窗口名写对?在这个窗口里,那个表,是叫做Table1? |
-- 作者:qwz405 -- 发布时间:2017/1/24 8:30:00 -- 代码应该没问题,因为单选框选择时,数据都是正常加载显示 我在关闭按钮中加了代码,在关闭时将单选框都释放 问题没有找到,但错误不显示了 [此贴子已经被作者于2017/1/24 8:30:35编辑过]
|