以文本方式查看主题 - Foxtable(狐表) (http://foxtable.com/bbs/index.asp) -- 专家坐堂 (http://foxtable.com/bbs/list.asp?boardid=2) ---- 这个错误提示是什么意思 (http://foxtable.com/bbs/dispbbs.asp?boardid=2&id=28266) |
-- 作者:老有所乐 -- 发布时间:2013/1/23 20:55:00 -- 这个错误提示是什么意思 我点击图表出现下面这个错误提示 [此贴子已经被作者于2013-1-23 20:56:31编辑过]
|
-- 作者:e-png -- 发布时间:2013/1/23 22:46:00 -- 你的列名不是“日期”,也许这只是列标题吧。 |
-- 作者:lin_hailun -- 发布时间:2013/1/24 11:10:00 -- 没有找到 日期列,具体要看你的代码,请确认这一列的列名就是什么。 |
-- 作者:老有所乐 -- 发布时间:2013/1/24 11:38:00 -- 谢谢二位老师!我将显示图表功能从目录树中移出,单独设一按钮,就不会有此问题。 |
-- 作者:lin_hailun -- 发布时间:2013/1/24 11:53:00 -- 以下是引用老有所乐在2013-1-24 11:38:00的发言: 谢谢二位老师!我将显示图表功能从目录树中移出,单独设一按钮,就不会有此问题。 未理解……什么目录树,什么按钮。代码是什么?什么情况下出错? |
-- 作者:老有所乐 -- 发布时间:2013/1/24 13:08:00 -- 谢谢林老师,如此热心!是这样的,原来在没有展开目录树,直接点击图表,就会出现一楼的错误提示,目录树代码如下: Dim tr As WinForm.TreeView = Forms("窗口2").Controls("TreeView1") Dim nd As WinForm.TreeNode = tr.SelectedNode If e.Node.Level = 1 Or e.Node.Level = 2 Or e.Node.Level = 3 Or e.Node.Level = 4 Then If e.Node.Level = 1 MessageBox.Show("请点击下一层节点!") Return Else e.Form.Controls("Table1").Visible =True \'*** !显示表 ,注意此处Table1不能用("窗口2_table1")*** Tables("窗口2_Table1").DataSource = DataTables(nd.name) \'绑定数据表(DataTable)的名称(为节点名称). e.form.controls("combobox1").Value = e.Node.Name \'组合框1值等于所点击节点的名称 e.form.controls("label6").text = e.Node.Name \'标签6值等于所点击节点的名称,(即表名) e.Form.Controls(e.Node.Name ).Visible =True \'显示等于节点名的显示 Tables("窗口2_Table1").DataSource = DataTables("现金表") \'\'主窗口则显示现金表 e.Form.Controls("Chart1").Visible =False \'隐藏图表 Dim i As String = e.form.controls("combobox1").text \'在当前表显示新增行: Dim dr As DataRow dr = DataTables( i ).AddNew() dr("日期") = Date.Today \'将新增行的日期设为当天日期. \'打开窗口表后锁定该表当前选定行,不允许编辑 \' Tables( i ).Current.locked = True \'****下面代码是获取表中的最后一行,并将日期填入到日期框中 e.Form.Controls("DateTimePicker1").value= Nothing e.Form.Controls("DateTimePicker2").value=Nothing If i IsNot Nothing Then Dim r As Row = Tables(i).Rows(Tables(i).Rows.Count-1) Tables("窗口2_Table1").DataSource = DataTables(i) e.Form.Controls("DateTimePicker1").value=r("日期") \'Date.Today.Adddays(-90) e.Form.Controls("DateTimePicker2").value=r("日期") End If If i="工资卡" e.form.controls("label21").text ="支出" Else If i="现金表" e.form.controls("label21").text ="金额" End If \'*** \'**** End If End If \'下面代码是限定先显示图表,隐藏表 If e.Node.Level = 0 Then \'当点击主节点是,就显示图表,隐藏窗口表 \' If e.form.controls("label6").text <> "图表" Or e.form.controls("label6").text = "表名" e.Form.Controls("Chart1").Visible =True \'显示图表 e.Form.Controls("Table1").Visible =False \'隐藏表 ,注意此处Table1不能用("窗口1_table1") End If End If \'隐藏标签 Dim i1 As String = e.Form.Controls("label6").text \'定义一个组合框,以供在窗口显示表名 Dim ss As String = "现金表|工资卡|银行存款|债权|水电费|电话费|债务" \' For Each s As String In ss.Split("|") e.Form.Controls( s ).Visible =(i1 = s) \'自动隐藏不等于标签6的窗口 Forms( s).Close() \' 自动关闭窗口 Next \' \'\'在窗口"现金表"【收支】列显示"现金树"目录树,没有下面的代码,现金表在窗口表【收支】列就不显示目录树 If i1 = "现金表" Then \'如果标签6(label6)等于"现金表" ,这里引用上面定义的i1变量 Tables("窗口2_Table1").Cols("选择收支").DropForm = "收支项目" \'在窗口的【收支】列显示"收支项目" End If \'********* \'下面是根据日期框进行筛选 Dim Filter As String With e.Form.Controls("DateTimePicker1") \'起始日 If .Value IsNot Nothing Then If Filter > "" Then Filter = Filter & " And " End If Filter = Filter & "日期 >= #" & .Value & "#" End If End With \'\'日期结束 With e.Form.Controls("DateTimePicker2") \'终止日 If .Value IsNot Nothing Then If Filter > "" Then Filter = Filter & " And " End If Filter = Filter & "日期 <= #" & .Value & "#" End If End With \'控制时间控件日期为当天日期 e.Form.Controls("DateTimePicker1").Value =Date.Today.Adddays(-30) e.Form.Controls("DateTimePicker2").Value = Date.Today \'\'筛选后统计 \'If Filter > "" Then \'如果筛选条件为空 \' Tables("窗口2_Table1").Filter = Filter \'则不筛选 \'End If Dim i2 As String = e.form.controls("label6").text \'定义变量i ,为表名,当点击树中的表名是,标签6显示该节点名 Tables("窗口2_table1").SetColVisibleWidth(Tables( i2 ).GetColVisibleWidth) \'窗口表列宽及列顺序与实际表相同 如果点击目录树中的表,再点击树中的图表,就不会出现什么错误提示
[此贴子已经被作者于2013-1-24 13:13:16编辑过]
|
-- 作者:lin_hailun -- 发布时间:2013/1/24 14:32:00 -- 呃,看了代码,应该是因为没有给表控件绑定表的缘故。 Tables("窗口2_Table1").DataSource = DataTables("xxxx") 你希望点击 图表 做什么操作?你改改下面的代码吧。考虑一下你下面代码。把你对表进行筛选的代码放在你的第一个if判断里 if e.node.level = 1 And xxx \'下面代码是限定先显示图表,隐藏表 If e.Node.Level = 0 Then \'当点击主节点是,就显示图表,隐藏窗口表 \' If e.form.controls("label6").text <> "图表" Or e.form.controls("label6").text = "表名" e.Form.Controls("Chart1").Visible =True \'显示图表 e.Form.Controls("Table1").Visible =False \'隐藏表 ,注意此处Table1不能用("窗口1_table1") End If End If |
-- 作者:老有所乐 -- 发布时间:2013/1/24 15:00:00 -- 谢谢林老师!我还是把它移走 |