問一個小菜的問題:Treeview中有几個組,組里有成員,我想讓其中一個組一直排在最后一个.急等

feilong215 2003-10-22 05:49:41
Treeview中有几個組,組里有成員,我想讓其中一個組一直排在最后一个,就是在新增组后,我指点的组仍是排在最后一个.希望能说详细点的.谢谢
...全文
31 10 打赏 收藏 转发到动态 举报
写回复
用AI写文章
10 条回复
切换为时间正序
请发表友善的回复…
发表回复
feilong215 2003-10-24
  • 打赏
  • 举报
回复
up
rainstormmaster 2003-10-23
  • 打赏
  • 举报
回复
窗体1:一个按钮
Dim k As Long
Private Sub Command1_Click()
Dim mnode As Node
k = k + 1

Form2.Show
Set mnode = Form2.TreeView1.Nodes.Add(lastnode, tvwPrevious, , "new " + CStr(k))
mnode.Expanded = True
Form2.TreeView1.Nodes.Add mnode, tvwChild, , "sub 1"
Form2.TreeView1.Nodes.Add mnode, tvwChild, , "sub 2"

End Sub

窗体2,一个treeview:

Option Explicit

Private Sub Form_Load()
Dim mnode As Node
Dim i As Long
For i = 1 To 4
Set mnode = Me.TreeView1.Nodes.Add(, , , "root " + CStr(i))
mnode.Expanded = True
Me.TreeView1.Nodes.Add mnode, tvwChild, , "sub 1"
Me.TreeView1.Nodes.Add mnode, tvwChild, , "sub 2"
Next
Set lastnode = Me.TreeView1.Nodes.Add(, , , "last")
lastnode.Expanded = True
Me.TreeView1.Nodes.Add lastnode, tvwChild, , "sub 1"
Me.TreeView1.Nodes.Add lastnode, tvwChild, , "sub 2"
End Sub
模块:
Option Explicit
Public lastnode As Node




feilong215 2003-10-23
  • 打赏
  • 举报
回复
To: rainstormmaster(rainstormmaster) 我是在兩個不同的From中實現,在一個中增加節點,回到主界面上才有Treeview顯示,怎樣聯繫的啊?
feilong215 2003-10-23
  • 打赏
  • 举报
回复
這是Class Modules中的對群組資料進行排序的:

sSql = "Select SITEID, GROUPNAME, GROUPID From SITEGROUP ORDER BY GROUPNAME "
Set QrySelect = g_Cn.CreateQuery("", sSql)
Set Rs = QrySelect.OpenResultset(rdOpenForwardOnly)

我想在這改一下,讓"預設群組"不參加排序.在最後樹處理時最後一個加也可以的吧
為了讓你看的明白點,我把這一整段發來看,就是最後加前面排序留下的那一個,怎樣做啊?謝謝

''''初始化主控制面板左樹
Private Sub InitTreeView()
Dim nodX As Node
Dim oNodeProvider As New CTreeNodeProvider
Dim oTreeNode As CTreeNode

#If iDebug = 1 Then
List2.AddItem "InitTreeView "
#End If
TreeView1.Visible = False

With TreeView1.Nodes
.Clear

''''Root
Set nodX = .Add(, , "ROOT", oNodeProvider.Company, 1, 1)
nodX.Tag = eRootNode

''''Sites
For Each oTreeNode In oNodeProvider.Sites
Set nodX = .Add(oTreeNode.ParentKey, tvwChild, oTreeNode.Key, oTreeNode.Name, 2, 2)
nodX.Tag = eSiteLogOff
Next

''''RemoteSites
For Each oTreeNode In oNodeProvider.RemoteSites
Set nodX = .Add(oTreeNode.ParentKey, tvwChild, oTreeNode.Key, oTreeNode.Name, 2, 2)
nodX.Tag = eRemoteSite
Next

''''Groups
For Each oTreeNode In oNodeProvider.Groups
Set nodX = .Add(oTreeNode.ParentKey, tvwChild, oTreeNode.Key, oTreeNode.Name, 3, 3)
nodX.Tag = eGroupNode
Next


''Modify By Vincent/2003/03/14 下午 02:04:30 Friday 修正原因:加入起始進度視窗
Dim nTemp As Collection
Dim iCount As Long

Set nTemp = oNodeProvider.Sensors
'@@@vincent
frmDataReciveProgress.Caption = TransText("Initiating computer directory")
frmDataReciveProgress.Show
frmDataReciveProgress.MaxValue = nTemp.Count
''''Sensors
''''將所有 Sensor 變成灰色
For Each oTreeNode In nTemp
''''Modify By Vincent/2001/10/30 PM 06:00:29 Tuesday 修正原因:加入作業平台圖示
'' If oTreeNode.Platform <> "Unknown" And oTreeNode.Platform <> "" Then
If IsSupportPlatform(oTreeNode.Platform) Then
Set nodX = .Add(oTreeNode.ParentKey, tvwChild, oTreeNode.Key, oTreeNode.Name, oTreeNode.Platform & "1", oTreeNode.Platform & "2")
Else
Set nodX = .Add(oTreeNode.ParentKey, tvwChild, oTreeNode.Key, oTreeNode.Name, 4, 5)
End If
nodX.Tag = eSensorLogOff
nodX.ForeColor = RGB(198, 198, 198)
iCount = iCount + 1
frmDataReciveProgress.NowValue = iCount
frmDataReciveProgress.Caption = TransText("Initiating computer directory") & " " & iCount & "/" & nTemp.Count
DoEvents
Next
.Item(1).Expanded = True
Unload frmDataReciveProgress
End With
TreeView1.Visible = True
End Sub
rainstormmaster 2003-10-23
  • 打赏
  • 举报
回复
现在不方便写代码,你先等等吧
feilong215 2003-10-23
  • 打赏
  • 举报
回复
要是我不管增加的事,只是在跑主控制面板中的樹時來排序,安裝後只有那個"預設群組".也就是說第一次跑時只有"預設群組".其餘群組是後添加的.如何讓"預設群組"排最後.我覺的只需要在初始樹時做這個動作就可以的吧
since1990 2003-10-22
  • 打赏
  • 举报
回复
up
rainstormmaster 2003-10-22
  • 打赏
  • 举报
回复
'一个按钮,一个treeview:
Dim lastnode As Node, k As Long

Private Sub Command1_Click()
Dim mnode As Node
k = k + 1
Set mnode = Me.TreeView1.Nodes.Add(lastnode, tvwPrevious, , "new " + CStr(k))
mnode.Expanded = True
Me.TreeView1.Nodes.Add mnode, tvwChild, , "sub 1"
Me.TreeView1.Nodes.Add mnode, tvwChild, , "sub 2"
End Sub

Private Sub Form_Load()
Dim mnode As Node
Dim i As Long
For i = 1 To 4
Set mnode = Me.TreeView1.Nodes.Add(, , , "root " + CStr(i))
mnode.Expanded = True
Me.TreeView1.Nodes.Add mnode, tvwChild, , "sub 1"
Me.TreeView1.Nodes.Add mnode, tvwChild, , "sub 2"
Next
Set lastnode = Me.TreeView1.Nodes.Add(, , , "last")
lastnode.Expanded = True
Me.TreeView1.Nodes.Add lastnode, tvwChild, , "sub 1"
Me.TreeView1.Nodes.Add lastnode, tvwChild, , "sub 2"
End Sub
feilong215 2003-10-22
  • 打赏
  • 举报
回复
不行的啊,我想在节点里时那个是排下去,因为要新增的啊,所以可以让新增的都排到这个前面.但我不知道怎么做啊
intersun 2003-10-22
  • 打赏
  • 举报
回复
如果根节点的最后一个子节点不是你要的节点,就把该节点移除,加入要加的节点,再把那个节点加上,行么?

7,762

社区成员

发帖
与我相关
我的任务
社区描述
VB 基础类
社区管理员
  • VB基础类社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧