以文本方式查看主题

-  Foxtable(狐表)  (http://www.foxtable.com/bbs/index.asp)
--  专家坐堂  (http://www.foxtable.com/bbs/list.asp?boardid=2)
----  这个错误提示是什么意思  (http://www.foxtable.com/bbs/dispbbs.asp?boardid=2&id=28266)

--  作者:老有所乐
--  发布时间:2013/1/23 20:55:00
--  这个错误提示是什么意思
我点击图表出现下面这个错误提示

图片点击可在新窗口打开查看此主题相关图片如下:问题.gif
图片点击可在新窗口打开查看
图片点击可在新窗口打开查看此主题相关图片如下:图表.gif
图片点击可在新窗口打开查看
然后关闭错误提示框,图表才正常显示,请教这是什么错误提示。
[此贴子已经被作者于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) \'窗口表列宽及列顺序与实际表相同


图片点击可在新窗口打开查看此主题相关图片如下:目录树管理表.gif
图片点击可在新窗口打开查看

如果点击目录树中的表,再点击树中的图表,就不会出现什么错误提示
[此贴子已经被作者于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
--  
谢谢林老师!我还是把它移走