TreeNode.ValuePath プロパティ
アセンブリ: System.Web (system.web.dll 内)


ValuePath プロパティには、ルート ノードから現在のノードまでのパスを構成するノードの値のコンマ区切りのリストが格納されます。ノードの値を区切るための区切り文字を指定するには、PathSeparator プロパティを使用します。通常この値は、個々の値についてリストを解析する場合や、TreeView クラスの FindNode メソッドに引数として渡す場合に使用されます。
TreeView コントロールに表示される値によっては、競合を防ぐために区切り文字を変更する必要があります。たとえば、区切り文字をコンマに設定した場合は、表示値にコンマを入れないでください。コンマを入れると、ValuePath プロパティを正確に解析できません。
![]() |
---|
同じレベルにあるノードは、それぞれの Value プロパティの値が一意であることが必要です。同一レベルの複数のノードでこの値が同じであると、TreeView コントロールは各ノードを区別できません。この場合、重複した値を持つノードをユーザーがクリックすると、最初に TreeView コントロールに表示されているノードが選択されます。 |

ValuePath プロパティを解析する方法を次のコード例に示します。
<%@ Page Language="VB" %> <script runat="server"> Sub Index_Changed(ByVal sender As Object, ByVal e As EventArgs) ' Set the PathSeparator character based on the user's selection. ' Notice that the value must be converted to a Char data type. BookTreeView.PathSeparator = Convert.ToChar(List.SelectedItem.Text) ' Display the ValuePath values for the second-level nodes. Message.Text = "The ValuePath values for the second-level nodes are:<br>" Dim node As TreeNode For Each node In BookTreeView.Nodes(0).ChildNodes ' Create the delimiter array with the PathSeparator value for the Split method. Dim DelimiterArray(1) As Char DelimiterArray(0) = BookTreeView.PathSeparator ' Parse the ValuePath value using the delimiter array. Dim NodeValues() As String = node.ValuePath.Split(DelimiterArray) ' Display the node values. Dim i As Integer For i = 0 To NodeValues.Length - 1 If i <> NodeValues.Length - 1 Then ' Append the delimiter character. Message.Text &= NodeValues(i) & BookTreeView.PathSeparator.ToString() Else ' Do not append the delimiter character. Message.Text &= NodeValues(i) End If Next ' Append a line break for the next node. Message.Text &= "<br>" Next End Sub </script> <html> <body> <form runat="server"> <h3>TreeView PathSeparator Example</h3> <asp:TreeView id="BookTreeView" InitialExpandDepth="-1" PathSeparator="/" runat="server"> <Nodes> <asp:TreeNode Value="Chapter 1" Text="Chapter 1"> <asp:TreeNode Value="Section 1" Text="Section 1"> <asp:TreeNode Value="Paragraph 1" Text="Paragraph 1"> </asp:TreeNode> </asp:TreeNode> <asp:TreeNode Value="Section 2" Text="Section 2"> </asp:TreeNode> </asp:TreeNode> </Nodes> </asp:TreeView> <br> <asp:Label id="Message" runat="server"/> <hr> Select a path separator value:<br> <asp:DropDownList ID="List" AutoPostBack="true" OnSelectedIndexChanged="Index_Changed" runat="server"> <asp:ListItem Selected="true">/</asp:ListItem> <asp:ListItem>\</asp:ListItem> <asp:ListItem>|</asp:ListItem> <asp:ListItem>,</asp:ListItem> <asp:ListItem>;</asp:ListItem> </asp:DropDownList> </form> </body> </html>
<%@ Page Language="C#" %> <script runat="server"> void Index_Changed(Object sender, EventArgs e) { // Set the PathSeparator character based on the user's selection. // Notice that the value must be converted to a Char data type. BookTreeView.PathSeparator = Convert.ToChar(List.SelectedItem.Text); // Display the ValuePath values for the second-level nodes. Message.Text = "The ValuePath values for the second-level nodes are:<br>"; foreach(TreeNode node in BookTreeView.Nodes[0].ChildNodes) { // Create the delimiter array with the PathSeparator value for the Split method. Char[] DelimiterArray = new Char[1]; DelimiterArray[0] = BookTreeView.PathSeparator; // Parse the ValuePath value using the delimiter array. String[] NodeValues = node.ValuePath.Split(DelimiterArray); // Display the node values. for(int i=0; i<NodeValues.Length; i++) { if(i != NodeValues.Length - 1) { // Append the delimiter character. Message.Text += NodeValues[i] + BookTreeView.PathSeparator.ToString(); } else { // Do not append the delimiter character. Message.Text += NodeValues[i]; } } // Append a line break for the next node. Message.Text += "<br>"; } } </script> <html> <body> <form runat="server"> <h3>TreeView PathSeparator Example</h3> <asp:TreeView id="BookTreeView" InitialExpandDepth="-1" PathSeparator="/" runat="server"> <Nodes> <asp:TreeNode Value="Chapter 1" Text="Chapter 1"> <asp:TreeNode Value="Section 1" Text="Section 1"> <asp:TreeNode Value="Paragraph 1" Text="Paragraph 1"> </asp:TreeNode> </asp:TreeNode> <asp:TreeNode Value="Section 2" Text="Section 2"> </asp:TreeNode> </asp:TreeNode> </Nodes> </asp:TreeView> <br> <asp:Label id="Message" runat="server"/> <hr> Select a path separator value:<br> <asp:DropDownList ID="List" AutoPostBack="true" OnSelectedIndexChanged="Index_Changed" runat="server"> <asp:ListItem Selected="true">/</asp:ListItem> <asp:ListItem>\</asp:ListItem> <asp:ListItem>|</asp:ListItem> <asp:ListItem>,</asp:ListItem> <asp:ListItem>;</asp:ListItem> </asp:DropDownList> </form> </body> </html>

Windows 98, Windows 2000 SP4, Windows Server 2003, Windows XP Media Center Edition, Windows XP Professional x64 Edition, Windows XP SP2, Windows XP Starter Edition
開発プラットフォームの中には、.NET Framework によってサポートされていないバージョンがあります。サポートされているバージョンについては、「システム要件」を参照してください。


Weblioに収録されているすべての辞書からTreeNode.ValuePath プロパティを検索する場合は、下記のリンクをクリックしてください。

- TreeNode.ValuePath プロパティのページへのリンク