以文本方式查看主题

-  Foxtable(狐表)  (http://foxtable.net/bbs/index.asp)
--  专家坐堂  (http://foxtable.net/bbs/list.asp?boardid=2)
----  [求助]  (http://foxtable.net/bbs/dispbbs.asp?boardid=2&id=62457)

--  作者:风声
--  发布时间:2015/1/1 21:44:00
--  [求助]

 


图片点击可在新窗口打开查看此主题相关图片如下:图像 3.png
图片点击可在新窗口打开查看

 

If e.Sender.Value = "" Then Return
Functions.Execute("加载筛选",e.Form.Controls("筛选"),e.Form.Name & "_Tbl_Main",e.Sender.Value.Replace(",","|"))

 

 

\'此函数用于更新主窗口左侧的Treeview控件
Dim TvwCtl As WinForm.TreeView = Args(0)   \'要更新的Treeview控件
Dim TblName As String = Args(1)            \'数据来源表
Dim Columns As String = Args(2)            \'要构建Treeview的字段
If Tables(TblName).Rows.Count = 0 Then Return Nothing
TvwCtl.Form.StopRedraw
TvwCtl.BuildTree(Tables(TblName).DataTable,Columns)
Dim ArrColName() As String = Columns.Split("|")
For i As Integer = 0 To Ubound(ArrColName)
    If Tables(TblName).DataTable.DataCols(ArrColName(i)).IsDate Then
        Dim Dt As Date =  Tables(TblName).DataTable.DataRows(0)(ArrColName(i))
        If Dt.Hour = 0 And Dt.Minute = 0 And Dt.Minute = 0 Then
            For Each Nd As WinForm.TreeNode In TvwCtl.AllNodes
                If Nd.Level = i Then Nd.Text = Nd.Text.SubString(0,Nd.Text.IndexOf(" "))
            Next
        End If
    End If
Next
TvwCtl.Nodes.Insert("显示所有行",0)
TvwCtl.Form.ResumeRedraw


老师,我把用黄色标出的代码设置在窗口事件里后有严重报错,在其他窗口没有报错

 

老师,我关闭了下面的代码就没有问题了,现在不知道要修改那个代码

\'时钟代码
\'Dim t As Date = Date.Now

\'e.Form.Controls("textbox1").text = Format(t, "T")

 

[此贴子已经被作者于2015-1-1 22:18:52编辑过]

--  作者:风声
--  发布时间:2015/1/2 8:17:00
--  
以下是引用风声在2015-1-1 21:44:00的发言:

 


图片点击可在新窗口打开查看此主题相关图片如下:图像 3.png
图片点击可在新窗口打开查看

 

If e.Sender.Value = "" Then Return
Functions.Execute("加载筛选",e.Form.Controls("筛选"),e.Form.Name & "_Tbl_Main",e.Sender.Value.Replace(",","|"))

 

 

\'此函数用于更新主窗口左侧的Treeview控件
Dim TvwCtl As WinForm.TreeView = Args(0)   \'要更新的Treeview控件
Dim TblName As String = Args(1)            \'数据来源表
Dim Columns As String = Args(2)            \'要构建Treeview的字段
If Tables(TblName).Rows.Count = 0 Then Return Nothing
TvwCtl.Form.StopRedraw
TvwCtl.BuildTree(Tables(TblName).DataTable,Columns)
Dim ArrColName() As String = Columns.Split("|")
For i As Integer = 0 To Ubound(ArrColName)
    If Tables(TblName).DataTable.DataCols(ArrColName(i)).IsDate Then
        Dim Dt As Date =  Tables(TblName).DataTable.DataRows(0)(ArrColName(i))
        If Dt.Hour = 0 And Dt.Minute = 0 And Dt.Minute = 0 Then
            For Each Nd As WinForm.TreeNode In TvwCtl.AllNodes
                If Nd.Level = i Then Nd.Text = Nd.Text.SubString(0,Nd.Text.IndexOf(" "))
            Next
        End If
    End If
Next
TvwCtl.Nodes.Insert("显示所有行",0)
TvwCtl.Form.ResumeRedraw


老师,我把用黄色标出的代码设置在窗口事件里后有严重报错,在其他窗口没有报错

 

老师,我关闭了下面的代码就没有问题了,现在不知道要修改那个代码

\'时钟代码
\'Dim t As Date = Date.Now

\'e.Form.Controls("textbox1").text = Format(t, "T")

 

[此贴子已经被作者于2015-1-1 22:18:52编辑过]
谢谢老师看一下

--  作者:狐狸爸爸
--  发布时间:2015/1/4 10:17:00
--  

很明显,你代码中将传递的时间当作列名使用了,你用这个方法找出出错的代码是那一行,就知道问题所在了:

http://www.foxtable.com/help/topics/1485.htm

 

学会自己调试,就可以主动解决问题了

 


--  作者:有点甜
--  发布时间:2015/1/4 10:22:00
--  

 换一个控件名

 

\'时钟代码
Dim t As Date = Date.Now

e.Form.Controls("某一个控件名").text = Format(t, "T")


--  作者:风声
--  发布时间:2015/1/5 7:57:00
--  
以下是引用风声在2015-1-2 8:17:00的发言: