Foxtable(狐表)用戶欄目專家坐堂 → [求助]目錄樹


  共有386人關注過本帖樹形打印復制鏈接

主題:[求助]目錄樹

帥哥喲,離線,有人找我嗎?
江南小鎮
  1樓 | 信息 | 搜索 | 郵箱 | 主頁 | UC


加好友 發短信
等級:五尾狐 帖子:1110 積分:7209 威望:0 精華:0 注冊:2015/6/22 8:11:00
[求助]目錄樹  發帖心情 Post By:2019/12/6 18:51:00 [只看該作者]

老師,想直接引用窗口綁定的非副本表(通訊錄)。


If e.Node.Name = "顯示所有行" Then
    Tables(e.Form.Name & "_Table2").Filter = ""
Else
    Dim FilterCol() As String = e.Form.Controls("復選").Value.Split(",")
    Dim TmpStr() As String = e.Node.FullPath.Split("\")
    Dim FilterStr As String
    For i As Integer = 0 To e.Node.Level
        FilterStr = FilterStr & "[" & FilterCol(i) & "] = '" & TmpStr(i) & "' And "
    Next
    FilterStr = FilterStr.SubString(0,FilterStr.Length - 5)
    Tables(e.Form.Name & "_Table2").Filter = FilterStr 
End If

 回到頂部
帥哥喲,離線,有人找我嗎?
有點藍
  2樓 | 信息 | 搜索 | 郵箱 | 主頁 | UC


加好友 發短信
等級:超級版主 帖子:40894 積分:207864 威望:0 精華:8 注冊:2015/6/24 9:21:00
  發帖心情 Post By:2019/12/6 20:31:00 [只看該作者]

normal非副本表,直接寫主表名稱即可
Tables(“通訊錄”).Filter = ""

如果要通用一點,可以這樣

e.Form.Controls("Table2").Table.Filter = ""

 回到頂部
帥哥喲,離線,有人找我嗎?
江南小鎮
  3樓 | 信息 | 搜索 | 郵箱 | 主頁 | UC


加好友 發短信
等級:五尾狐 帖子:1110 積分:7209 威望:0 精華:0 注冊:2015/6/22 8:11:00
  發帖心情 Post By:2019/12/6 22:21:00 [只看該作者]

老師,這是窗口代碼和內部函數也要修改成直接引用窗口非副本表。謝謝老師

With Tables(e.Form.Name & "_Table2")
    .EnterKeyActionDown = True
    .AutoSizeCols
    Dim dz_FilterCol As WinForm.CheckedComboBox = e.Form.Controls("復選")
    For Each C As Col In .Cols
        dz_FilterCol.Items.Add(C.Name)
    Next
    dz_FilterCol.Value = "客戶供應商,姓名"
End With




[此貼子已經被作者于2019/12/6 22:22:46編輯過]

 回到頂部
帥哥喲,離線,有人找我嗎?
有點藍
  4樓 | 信息 | 搜索 | 郵箱 | 主頁 | UC


加好友 發短信
等級:超級版主 帖子:40894 積分:207864 威望:0 精華:8 注冊:2015/6/24 9:21:00
  發帖心情 Post By:2019/12/6 22:33:00 [只看該作者]

用法完全一樣

 回到頂部
帥哥喲,離線,有人找我嗎?
江南小鎮
  5樓 | 信息 | 搜索 | 郵箱 | 主頁 | UC


加好友 發短信
等級:五尾狐 帖子:1110 積分:7209 威望:0 精華:0 注冊:2015/6/22 8:11:00
  發帖心情 Post By:2019/12/6 22:51:00 [只看該作者]

老師,這組代碼報錯。


.EnterKeyActionDown = True

 回到頂部
帥哥喲,離線,有人找我嗎?
有點藍
  6樓 | 信息 | 搜索 | 郵箱 | 主頁 | UC


加好友 發短信
等級:超級版主 帖子:40894 積分:207864 威望:0 精華:8 注冊:2015/6/24 9:21:00
  發帖心情 Post By:2019/12/6 22:56:00 [只看該作者]

報什么錯?

 回到頂部
帥哥喲,離線,有人找我嗎?
江南小鎮
  7樓 | 信息 | 搜索 | 郵箱 | 主頁 | UC


加好友 發短信
等級:五尾狐 帖子:1110 積分:7209 威望:0 精華:0 注冊:2015/6/22 8:11:00
  發帖心情 Post By:2019/12/7 7:19:00 [只看該作者]

老師,代碼報錯。
With e.Form.Controls("Table2")
 .EnterKeyActionDown = True
    .AutoSizeCols
    Dim dz_FilterCol As WinForm.CheckedComboBox = e.Form.Controls("復選")
    For Each C As Col In .Cols
        dz_FilterCol.Items.Add(C.Name)
    Next
    dz_FilterCol.Value = "客戶供應商,姓名"
End With



.NET Framework 版本:2.0.50727.8669
Foxtable 版本:2017.4.22.1
錯誤所在事件:窗口,供應商客戶信息,AfterLoad
詳細錯誤信息:
未找到類型“Table”的公共成員“EnterKeyActionDown”。


 回到頂部
帥哥喲,離線,有人找我嗎?
有點藍
  8樓 | 信息 | 搜索 | 郵箱 | 主頁 | UC


加好友 發短信
等級:超級版主 帖子:40894 積分:207864 威望:0 精華:8 注冊:2015/6/24 9:21:00
  發帖心情 Post By:2019/12/7 9:06:00 [只看該作者]

既然不懂就要認真分析查看別人是怎么用的。不懂還閉著眼睛用那就是在給自己找麻煩,本來幾分鐘就能解決的問題...

With e.Form.Controls("Table2").table

 回到頂部
帥哥喲,離線,有人找我嗎?
江南小鎮
  9樓 | 信息 | 搜索 | 郵箱 | 主頁 | UC


加好友 發短信
等級:五尾狐 帖子:1110 積分:7209 威望:0 精華:0 注冊:2015/6/22 8:11:00
  發帖心情 Post By:2019/12/7 9:51:00 [只看該作者]

老師,下面代碼有錯了。
If e.Node.Name = "顯示所有行" Then
   ' Tables(e.Form.Name & "_Table2").Filter = ""
e.Form.Controls("Table2").Table.Filter = ""

Else
    Dim FilterCol() As String = e.Form.Controls("復選").Value.Split(",")
    Dim TmpStr() As String = e.Node.FullPath.Split("\")
    Dim FilterStr As String
    For i As Integer = 0 To e.Node.Level
        FilterStr = FilterStr & "[" & FilterCol(i) & "] = '" & TmpStr(i) & "' And "
    Next
    FilterStr = FilterStr.SubString(0,FilterStr.Length - 5)
    'Tables(e.Form.Name & "_Table2").Filter = FilterStr 
e.Form.Controls("Table2").Filter = FilterStr 
End If


.NET Framework 版本:2.0.50727.8669
Foxtable 版本:2017.4.22.1
錯誤所在事件:窗口,供應商客戶信息,篩選樹,AfterSelectNode
詳細錯誤信息:
未找到類型"Table"的公共成員"Filter".

 回到頂部
帥哥喲,離線,有人找我嗎?
有點藍
  10樓 | 信息 | 搜索 | 郵箱 | 主頁 | UC


加好友 發短信
等級:超級版主 帖子:40894 積分:207864 威望:0 精華:8 注冊:2015/6/24 9:21:00
  發帖心情 Post By:2019/12/7 11:06:00 [只看該作者]

同樣的問題,請自行解決

 回到頂部
總數 27 1 2 3 下一頁
229期22选5开奖结果