TreeView.PathSeparator Propriedade
Definição
Importante
Algumas informações se referem a produtos de pré-lançamento que podem ser substancialmente modificados antes do lançamento. A Microsoft não oferece garantias, expressas ou implícitas, das informações aqui fornecidas.
Obtém ou define o caractere usado para delimitar os valores de nó especificados pela propriedade ValuePath.
public:
property char PathSeparator { char get(); void set(char value); };
public char PathSeparator { get; set; }
member this.PathSeparator : char with get, set
Public Property PathSeparator As Char
Valor da propriedade
O caractere usado para delimitar os valores de nó especificados na propriedade ValuePath. O padrão é uma barra “/”.
Exemplos
O exemplo de código a seguir demonstra como usar a PathSeparator propriedade para especificar o caractere delimitador para a ValuePath propriedade de um nó. Esse valor é então usado para analisar a ValuePath propriedade para os valores individuais.
<%@ Page Language="C#" %>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<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 xmlns="http://www.w3.org/1999/xhtml" >
<head runat="server">
<title>TreeView PathSeparator Example</title>
</head>
<body>
<form id="form1" runat="server">
<h3>TreeView PathSeparator Example</h3>
<asp:TreeView id="BookTreeView"
ExpandDepth="-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="VB" %>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<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 xmlns="http://www.w3.org/1999/xhtml" >
<head runat="server">
<title>TreeView PathSeparator Example</title>
</head>
<body>
<form id="form1" runat="server">
<h3>TreeView PathSeparator Example</h3>
<asp:TreeView id="BookTreeView"
ExpandDepth="-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>
Comentários
A ValuePath propriedade contém uma lista separada por delimitador de valores de nó que formam um caminho do nó raiz para o nó atual. Use a PathSeparator propriedade para especificar o caractere delimitador usado para separar os valores do nó. Esse valor é comumente usado ao analisar a lista para os valores individuais.
Dependendo do texto exibido no controle, o TreeView caractere delimitador pode precisar ser alterado para evitar conflitos. Por exemplo, se você definir o caractere delimitador como uma vírgula, o texto exibido não deverá conter vírgulas; caso contrário, a ValuePath propriedade não pode ser analisada com precisão.
O valor dessa propriedade é armazenado no estado de exibição.