22. november 2005 - 00:14Der er
11 kommentarer og 1 løsning
Event fire problem med treeview
Jeg er i gang at lave et simpelt dynamisk treeview, dog uden +'er (expands), derfor har jeg sat showExpandCollapse til false på min control, men så virker expand/collapse funktionerne ikke. Hvorfor ? eller hvordan løser jeg problemet ?
Nej den fungerer ikke... Hvis jeg sætter min ShowExpandCollapse til true i treeview control'en, så udfolder menu'en sig vde at klikke på plus'et, men jeggerne have den at fungere uden plus'erne.
Private Sub PopulateRootLevel() Dim objConn As New SqlConnection(ConfigurationManager.ConnectionStrings("CONN").ToString) Dim objCommand As New SqlCommand("EXEC usr_qPS_GetFolders @uiParent, @uiUser", objConn) objCommand.Parameters.Add("@uiParent", SqlDbType.NChar).Value = ConfigurationManager.AppSettings("MENU").ToString objCommand.Parameters.Add("@uiUser", SqlDbType.NChar).Value = ConfigurationManager.AppSettings("USER").ToString
Dim da As New SqlDataAdapter(objCommand) Dim dt As New DataTable() da.Fill(dt)
PopulateNodes(dt, tvMenu.Nodes) End Sub
Private Sub PopulateNodes(ByVal dt As DataTable, ByVal nodes As TreeNodeCollection) For Each dr As DataRow In dt.Rows Dim tn As New TreeNode() tn.Text = dr("sName").ToString() tn.Value = dr("uiFolder").ToString()
If dr("sType").ToString.ToUpper = "FOLDER" Then tn.NavigateUrl = "Default.aspx?FolderID=" & dr("uiFolder").ToString() Else tn.NavigateUrl = "Default.aspx?DocID=" & dr("uiFolder").ToString() End If
'If node has child nodes, then enable on-demand populating tn.PopulateOnDemand = (CInt(dr("iHasDocs")) > 0) Next End Sub
Private Sub PopulateSubLevel(ByVal uiParent As String, ByVal parentNode As TreeNode) Dim objConn As New SqlConnection(ConfigurationManager.ConnectionStrings("CONN").ToString) Dim objCommand As New SqlCommand("EXEC usr_get_menu @uiParent", objConn) objCommand.Parameters.Add("@uiParent", SqlDbType.NChar).Value = uiParent.ToString
Dim da As New SqlDataAdapter(objCommand) Dim dt As New DataTable() da.Fill(dt)
PopulateNodes(dt, parentNode.ChildNodes) End Sub
Protected Sub tvMenu_TreeNodePopulate(ByVal sender As Object, ByVal e As System.Web.UI.WebControls.TreeNodeEventArgs) Handles tvMenu.TreeNodePopulate PopulateSubLevel(e.Node.Value, e.Node) End Sub
Private Sub PopulateRootLevel() Dim objConn As New SqlConnection(ConfigurationManager.ConnectionStrings("CONN").ToString) Dim objCommand As New SqlCommand("EXEC usr_qPS_GetFolders @uiParent, @uiUser", objConn) objCommand.Parameters.Add("@uiParent", SqlDbType.NChar).Value = ConfigurationManager.AppSettings("MENU").ToString objCommand.Parameters.Add("@uiUser", SqlDbType.NChar).Value = ConfigurationManager.AppSettings("USER").ToString
Dim da As New SqlDataAdapter(objCommand) Dim dt As New DataTable() da.Fill(dt)
PopulateNodes(dt, tvMenu.Nodes) End Sub
Private Sub PopulateNodes(ByVal dt As DataTable, ByVal nodes As TreeNodeCollection) For Each dr As DataRow In dt.Rows Dim tn As New TreeNode() tn.Text = dr("sName").ToString() tn.Value = dr("uiFolder").ToString()
If dr("sType").ToString.ToUpper = "FOLDER" Then tn.NavigateUrl = "Default.aspx?FolderID=" & dr("uiFolder").ToString() Else tn.NavigateUrl = "Default.aspx?DocID=" & dr("uiFolder").ToString() End If
'If node has child nodes, then enable on-demand populating tn.PopulateOnDemand = (CInt(dr("iHasDocs")) > 0) Next End Sub
Private Sub PopulateSubLevel(ByVal uiParent As String, ByVal parentNode As TreeNode) Dim objConn As New SqlConnection(ConfigurationManager.ConnectionStrings("CONN").ToString) Dim objCommand As New SqlCommand("EXEC usr_get_menu @uiParent", objConn) objCommand.Parameters.Add("@uiParent", SqlDbType.NChar).Value = uiParent.ToString
Dim da As New SqlDataAdapter(objCommand) Dim dt As New DataTable() da.Fill(dt)
PopulateNodes(dt, parentNode.ChildNodes) End Sub
Protected Sub tvMenu_TreeNodePopulate(ByVal sender As Object, ByVal e As System.Web.UI.WebControls.TreeNodeEventArgs) Handles tvMenu.TreeNodePopulate PopulateSubLevel(e.Node.Value, e.Node) End Sub
Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.