以文本方式查看主题 - Foxtable(狐表) (http://foxtable.com/bbs/index.asp) -- 专家坐堂 (http://foxtable.com/bbs/list.asp?boardid=2) ---- Combolist在表中生成的下拉选项,如何在窗口的表中同样显示 (http://foxtable.com/bbs/dispbbs.asp?boardid=2&id=185127) |
-- 作者:采菊东篱下 -- 发布时间:2023/2/5 22:31:00 -- Combolist在表中生成的下拉选项,如何在窗口的表中同样显示 这段代码在表中显示没问题,但在动态生成的表中不显示下拉选项了。 If DataTables("团体或个人分组").DataRows.Count = 0 Then Tables("棋赛名称管理").Cols("团体或个人分组").Combolist = "" Else Tables("棋赛名称管理").Cols("团体或个人分组").Combolist = DataTables("团体或个人分组").GetComboListString("团体赛或个人赛") End If If e.Row.IsNull("团体或个人分组") Then Tables("棋赛名称管理").Cols("分组").Combolist = "" Else Tables("棋赛名称管理").Cols("分组").Combolist = DataTables("团体或个人分组").GetComboListString("分组", "[团体赛或个人赛] =\'" & e.Row("团体或个人分组") & "\'") End If 下面的是写在窗口中的代码: Select Case e.Link.Text Case "棋赛名称管理" Dim tab As WinForm.TabControl = e.Form.Controls("TabControl1") tab.SelectedIndex = 3 Dim dt As WinForm.Table Dim mc As String = "棋赛名称管理" If tab.TabPages.Contains(mc) = False Then tab.TabPages.Add(mc, mc) dt = Forms("主窗口").CreateSQLTable("Table\'" & mc & "\'", "Select * Fr om {棋赛名称管理}", "") Forms("主窗口").Controls("TabControl1").Tabpages(mc).AddControl(dt) Forms("主窗口").Controls("TabControl1").SelectedIndex = tab.TabPages.count + 1 Else dt = Forms("主窗口").Controls("Table\'" & mc & "\'") End If dt.SetBounds(0, 0, 1150, 520) dt.Table.SetColVisibleWidth("棋赛名称|180|棋赛副名|180|团体或个人分组|60|分组|60|积分编排法|90") dt.Table.SetHeaderRowHeight(40) If DataTables("团体或个人分组").DataRows.Count = 0 Then dt.Table.Cols("团体或个人分组").Combolist = "" Else dt.Table.Cols("团体或个人分组").Combolist = DataTables("团体或个人分组").GetComboListString("团体赛或个人赛") End If If e.Row.IsNull("团体或个人分组") Then dt.Table.Cols("分组").Combolist = "" Else dt.Table.Cols("分组").Combolist = DataTables("团体或个人分组").GetComboListString("分组", "[团体赛或个人赛] =\'" & e.Row("团体或个人分组") & "\'") End If End Select 红色代码报错,改为Tables("主窗口_" & mc & "\'").Row.IsNull("团体或个人分组")依然报错,请教应怎么写? |
-- 作者:有点蓝 -- 发布时间:2023/2/5 22:46:00 -- 这种到全局表事件prepareedit事件处理,不应该在任务栏事件处理 |
-- 作者:采菊东篱下 -- 发布时间:2023/2/6 20:41:00 -- .NET Framework 版本:4.0.30319.42000 Foxtable 版本:2022.8.18.1 错误所在事件:全局表事件,PositionChanged 详细错误信息: 未将对象引用设置到对象的实例。 If Forms("主窗口").opened Then Dim fz As WinForm.TabPage = Forms("主窗口").Controls("TabControl1").TabPages("棋赛名称管理") Dim Str As String = fz.text If Forms("主窗口").ExistControl("Table\'" & Str & "\'") Then Dim tbl As WinForm.Table = Forms("主窗口").Controls("Table\'" & Str & "\'") If CurrentTable.DataTable.Name = tbl.Table.DataTable.Name Then If DataTables("团体或个人分组").DataRows.Count = 0 Then tbl.Table.Cols("团体或个人分组").Combolist = "" Else tbl.Table.Cols("团体或个人分组").Combolist = DataTables("团体或个人分组").GetComboListString("团体赛或个人赛") End If If tbl.Table.Current.IsNull("团体或个人分组") Then tbl.Table.Cols("分组").Combolist = "" Else tbl.Table.Cols("分组").Combolist = DataTables("团体或个人分组").GetComboListString("分组", "[团体赛或个人赛] =\'" & tbl.Table.Current("团体或个人分组") & "\'") End If End If End If End If |
-- 作者:有点蓝 -- 发布时间:2023/2/6 20:43:00 -- http://www.foxtable.com/webhelp/topics/1485.htm |
-- 作者:采菊东篱下 -- 发布时间:2023/2/6 20:52:00 -- 它是打开窗口未加载临时表时出现的提示,加载后就没问题了,应该是判断临时表是否存在的代码出了问题,我不是已经有判断了吗? If Forms("主窗口").opened Then Dim fz As WinForm.TabPage = Forms("主窗口").Controls("TabControl1").TabPages("棋赛名称管理") Dim Str As String = fz.text If Forms("主窗口").ExistControl("Table\'" & Str & "\'") Then Dim tbl As WinForm.Table = Forms("主窗口").Controls("Table\'" & Str & "\'") If CurrentTable.DataTable.Name = tbl.Table.DataTable.Name Then |
-- 作者:有点蓝 -- 发布时间:2023/2/6 21:01:00 -- 麻烦加调试代码,看是哪一句出错? |