2009-04-22 8 views
2

J'ai un jeu de données hiérarchique (comme Geography -> Area-> Country -> State) qui doit être affiché dans un TreeView. Cela a été fait, mais le problème est, il occupe trop d'espace sur la page Web.Treeview à l'intérieur DropDown dans ASP.NET

Alors j'ai pensé à utiliser un menu déroulant qui contiendrait un treeview ??? Vous avez quelques exemples de CodeProject sans succès.

Tous les pointeurs ou toute autre suggestion pour résoudre mon problème seraient très appréciés. :)

+0

ne semble pas être une bonne idée – JohnIdol

+0

est ici un fil à ce sujet sur [forums.asp.net] (http: // forums.asp.net/p/1003245/1325999.aspx#1325999). –

Répondre

1

Vous pouvez le placer dans un <div> avec l'option de style défini pour faire défiler si elle déborde

<div style="height: 200px; width: 300px; overflow: auto;"> 
    //Treeview 
</div> 
+0

J'ai fait quelque chose de similaire il y a un moment. Il s'est avéré assez rad. J'ai surchargé la fonctionnalité de liste déroulante pour montrer à la place la div que vous impliquez. Il est devenu essentiellement une liste déroulante ré-imaginée. J'ai utilisé une multiplicité de divs imbriqués pour réaliser un tableau de bord avec filtrage et l'ensemble des 9 yards. –

3

Essayez d'utiliser dropdownExtendar dans les contrôles de la boîte à outils ajax.

Voici un exemple ...

<asp:UpdatePanel ID="upArea" runat="server"> 
<ContentTemplate> 
     <asp:TextBox ID="txtArea" runat="server" Width="100%" /> 
     <asp:DropDownExtender ID="txtArea_DropDownExtender" runat="server" 
     Enabled="True" TargetControlID="txtArea" DropDownControlID="CourseTreeView"> 
     </asp:DropDownExtender> 
     <asp:TreeView ID="CourseTreeView" runat="server" 
     OnSelectedNodeChanged="CourseTreeView_SelectedNodeChanged"          ShowLines="true" DataSourceID="xdsArea" PopulateNodesFromClient="false" BackColor="#99CCFF" Width="232px">                       <Nodes> 
      <asp:TreeNode Text="Gouse" PopulateOnDemand="false" Value="-1" /> 
      </Nodes> 
     </asp:TreeView> 
     <asp:XmlDataSource ID="xdsArea" runat="server" DataFile="~/XMLFile.xml" />