TreeNodeBinding Kelas
Definisi
Penting
Beberapa informasi terkait produk prarilis yang dapat diubah secara signifikan sebelum dirilis. Microsoft tidak memberikan jaminan, tersirat maupun tersurat, sehubungan dengan informasi yang diberikan di sini.
Menentukan hubungan antara item data dan simpul yang diikatnya dalam TreeView kontrol.
public ref class TreeNodeBinding sealed : ICloneable, System::Web::UI::IDataSourceViewSchemaAccessor, System::Web::UI::IStateManager
public sealed class TreeNodeBinding : ICloneable, System.Web.UI.IDataSourceViewSchemaAccessor, System.Web.UI.IStateManager
type TreeNodeBinding = class
interface IStateManager
interface ICloneable
interface IDataSourceViewSchemaAccessor
Public NotInheritable Class TreeNodeBinding
Implements ICloneable, IDataSourceViewSchemaAccessor, IStateManager
- Warisan
-
TreeNodeBinding
- Penerapan
Contoh
Tabel berikut ini memperlihatkan beberapa contoh deklarasi pengikatan simpul pohon.
| Contoh pengikatan | Deskripsi |
|---|---|
<asp:TreeNodeBinding TextField="Title" ValueField= "ID"/> |
Mengikat Text properti dan Value dari semua simpul di pohon ke Title bidang dan ID sumber data. Semua simpul menggunakan deklarasi pengikatan simpul pohon ini karena DataMember properti dan Depth tidak diatur. |
<asp:TreeNodeBinding DataMember= "Book" TextField= "Title" ValueField= "ID"/> |
Mengikat Text properti dan Value dari semua simpul di pohon ke Title bidang Book dan ID item data di sumber data. |
<asp:TreeNodeBinding Depth="2" TextField= "Title" ValueField= "ID"/> |
Mengikat Text properti dan Value dari semua simpul dengan kedalaman 2 di pohon ke Title bidang dan ID item data di sumber data. |
<asp:TreeNodeBinding DataMember="Book" Depth= "2" TextField= "Title" ValueField= "ID" ImageUrl= "Image.jpg"> |
Mengikat Text properti dan Value dari semua simpul dengan kedalaman 2 di pohon ke Title bidang Book dan ID item data di sumber data. Juga mengikat ImageUrl properti simpul ke nilai statis. |
Bagian ini berisi tiga contoh kode. Contoh kode pertama menunjukkan cara menggunakan TreeNodeBinding objek secara deklaratif untuk menentukan hubungan antara node dan item data. Contoh kode kedua menunjukkan cara menggunakan TreeNodeBinding objek secara terprogram untuk menentukan hubungan antara node dan item data. Contoh kode ketiga menyediakan contoh data XML untuk contoh kode pertama dan kedua.
Contoh kode berikut menunjukkan cara menggunakan TreeNodeBinding objek secara deklaratif untuk menentukan hubungan antara node dan item data. Agar contoh ini berfungsi dengan benar, Anda harus menyalin data XML sampel, yang disediakan setelah contoh kode ini, ke file bernama Book.xml.
<%@ Page Language="C#" %>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" >
<head runat="server">
<title>TreeView XML Data Binding Example</title>
</head>
<body>
<form id="form1" runat="server">
<h3>TreeView XML Data Binding Example</h3>
<asp:TreeView id="BookTreeView"
DataSourceID="BookXmlDataSource"
runat="server">
<DataBindings>
<asp:TreeNodeBinding DataMember="Book" TextField="Title"/>
<asp:TreeNodeBinding DataMember="Chapter" TextField="Heading"/>
<asp:TreeNodeBinding DataMember="Section" TextField="Heading"/>
</DataBindings>
</asp:TreeView>
<asp:XmlDataSource id="BookXmlDataSource"
DataFile="Book.xml"
runat="server">
</asp:XmlDataSource>
</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">
<html xmlns="http://www.w3.org/1999/xhtml" >
<head runat="server">
<title>TreeView XML Data Binding Example</title>
</head>
<body>
<form id="form1" runat="server">
<h3>TreeView XML Data Binding Example</h3>
<asp:TreeView id="BookTreeView"
DataSourceID="BookXmlDataSource"
runat="server">
<DataBindings>
<asp:TreeNodeBinding DataMember="Book" TextField="Title"/>
<asp:TreeNodeBinding DataMember="Chapter" TextField="Heading"/>
<asp:TreeNodeBinding DataMember="Section" TextField="Heading"/>
</DataBindings>
</asp:TreeView>
<asp:XmlDataSource id="BookXmlDataSource"
DataFile="Book.xml"
runat="server">
</asp:XmlDataSource>
</form>
</body>
</html>
Contoh kode berikut menunjukkan cara menggunakan TreeNodeBinding objek secara terprogram untuk menentukan hubungan antara node dan item data. Agar contoh ini berfungsi dengan benar, Anda harus menyalin data XML sampel yang disediakan dalam contoh kode berikutnya ke file bernama Book.xml.
<%@ 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 Page_Load(Object sender, EventArgs e)
{
// Create a new TreeView control.
TreeView NewTree = new TreeView();
// Set the properties of the TreeView control.
NewTree.ID = "BookTreeView";
NewTree.DataSourceID = "BookXmlDataSource";
// Create the tree node binding relationship.
// Create the root node binding.
TreeNodeBinding RootBinding = new TreeNodeBinding();
RootBinding.DataMember = "Book";
RootBinding.TextField = "Title";
// Create the parent node binding.
TreeNodeBinding ParentBinding = new TreeNodeBinding();
ParentBinding.DataMember = "Chapter";
ParentBinding.TextField = "Heading";
// Create the leaf node binding.
TreeNodeBinding LeafBinding = new TreeNodeBinding();
LeafBinding.DataMember = "Section";
LeafBinding.TextField = "Heading";
// Add bindings to the DataBindings collection.
NewTree.DataBindings.Add(RootBinding);
NewTree.DataBindings.Add(ParentBinding);
NewTree.DataBindings.Add(LeafBinding);
// Manually register the event handler for the SelectedNodeChanged event.
NewTree.SelectedNodeChanged += new EventHandler(this.Node_Change);
// Add the TreeView control to the Controls collection of the PlaceHolder control.
ControlPlaceHolder.Controls.Add(NewTree);
}
void Node_Change(Object sender, EventArgs e)
{
// Retrieve the TreeView control from the Controls collection of the PlaceHolder control.
TreeView LocalTree = (TreeView)ControlPlaceHolder.FindControl("BookTreeView");
// Display the selected node.
Message.Text = "You selected: " + LocalTree.SelectedNode.Text;
}
</script>
<html xmlns="http://www.w3.org/1999/xhtml" >
<head runat="server">
<title>TreeView Constructor Example</title>
</head>
<body>
<form id="form1" runat="server">
<h3>TreeView Constructor Example</h3>
<asp:PlaceHolder id="ControlPlaceHolder" runat="server">
</asp:PlaceHolder>
<asp:XmlDataSource id="BookXmlDataSource"
DataFile="Book.xml"
runat="server">
</asp:XmlDataSource>
<br /><br />
<asp:Label id="Message" runat="server"/>
</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 Page_Load(ByVal sender As Object, ByVal e As EventArgs)
' Create a new TreeView control.
Dim NewTree As New TreeView
' Set the properties of the TreeView control.
NewTree.ID = "BookTreeView"
NewTree.DataSourceID = "BookXmlDataSource"
' Create the tree node binding relationship.
' Create the root node binding.
Dim RootBinding As New TreeNodeBinding
RootBinding.DataMember = "Book"
RootBinding.TextField = "Title"
' Create the parent node binding.
Dim ParentBinding As New TreeNodeBinding
ParentBinding.DataMember = "Chapter"
ParentBinding.TextField = "Heading"
' Create the leaf node binding.
Dim LeafBinding As New TreeNodeBinding
LeafBinding.DataMember = "Section"
LeafBinding.TextField = "Heading"
' Add bindings to the DataBindings collection.
NewTree.DataBindings.Add(RootBinding)
NewTree.DataBindings.Add(ParentBinding)
NewTree.DataBindings.Add(LeafBinding)
' Manually register the event handler for the SelectedNodeChanged event.
AddHandler NewTree.SelectedNodeChanged, AddressOf Node_Change
' Add the TreeView control to the Controls collection of the PlaceHolder control.
ControlPlaceHolder.Controls.Add(NewTree)
End Sub
Sub Node_Change(ByVal sender As Object, ByVal e As EventArgs)
' Retrieve the TreeView control from the Controls collection of the PlaceHolder control.
Dim LocalTree As TreeView = CType(ControlPlaceHolder.FindControl("BookTreeView"), TreeView)
' Display the selected node.
Message.Text = "You selected: " & LocalTree.SelectedNode.Text
End Sub
</script>
<html xmlns="http://www.w3.org/1999/xhtml" >
<head runat="server">
<title>TreeView Constructor Example</title>
</head>
<body>
<form id="form1" runat="server">
<h3>TreeView Constructor Example</h3>
<asp:PlaceHolder id="ControlPlaceHolder" runat="server">
</asp:PlaceHolder>
<asp:XmlDataSource id="BookXmlDataSource"
DataFile="Book.xml"
runat="server">
</asp:XmlDataSource>
<br /><br />
<asp:Label id="Message" runat="server"/>
</form>
</body>
</html>
Contoh kode berikut menyediakan contoh data XML untuk contoh kode sebelumnya.
<Book Title="Book Title">
<Chapter Heading="Chapter 1">
<Section Heading="Section 1">
</Section>
<Section Heading="Section 2">
</Section>
</Chapter>
<Chapter Heading="Chapter 2">
<Section Heading="Section 1">
</Section>
</Chapter>
</Book>
Keterangan
TreeView Saat kontrol terikat ke sumber data di mana setiap item data berisi beberapa bidang (seperti elemen XML dengan beberapa atribut), simpul menampilkan nilai yang dikembalikan oleh ToString metode item data, secara default. Dalam kasus elemen XML, simpul menampilkan nama elemen, yang menunjukkan struktur pohon yang mendasar, tetapi tidak terlalu berguna sebaliknya. Anda dapat mengikat properti simpul ke bidang tertentu dengan menentukan pengikatan simpul pohon. Objek TreeNodeBinding menentukan hubungan antara setiap item data dan simpul yang diikatnya.
TreeView Kontrol menyimpan objeknya TreeNodeBinding di DataBindings properti dan menerapkan pengikatan ke sumber data untuk membuat hubungan satu-ke-satu antara hierarki pohon dan hierarki sumber data. Untuk setiap item data di sumber data, TreeView kontrol mencoba mencocokkan item data dengan TreeNodeBinding objek untuk membuat objek yang TreeNode sesuai.
Saat membuat TreeNodeBinding objek, Anda harus menentukan kriteria untuk pengikatan. Kriteria menunjukkan kapan item data harus terikat ke simpul. Anda dapat menentukan Depth properti atau DataMember , atau kedua properti. Ada sedikit perolehan performa dengan menentukan keduanya. Kedalaman node menentukan tingkat simpul yang terikat. Misalnya, deklarasi berikut mengikat TreeNodeBindingName bidang dan ID sumber data ke Text properti dan Value , masing-masing, dari semua simpul dengan kedalaman 0:
<asp:TreeNodeBinding Depth="0" TextField="Name" ValueField="ID">
Anggota data menentukan jenis item data di sumber data yang mendasar, tetapi dapat mewakili informasi yang berbeda tergantung pada sumber data. Setiap item data dalam sumber data hierarkis (diwakili oleh System.Web.UI.IHierarchyData antarmuka) mengekspos IHierarchyData.Type properti, yang menentukan jenis item data. Misalnya, anggota data untuk elemen XML menentukan nama elemen . Saat sumber data berisi beberapa jenis item data, anggota data menentukan jenis item data mana yang akan digunakan. Deklarasi berikut TreeNodeBinding mengikat <Book> elemen XmlDataSource kontrol ke semua simpul di pohon, terlepas dari lokasi dalam hierarki:
<asp:TreeNodeBinding DataMember="Book" TextField="Title" ValueField= "ISBN">
Setelah kriteria pengikatan ditetapkan, Anda kemudian dapat mengikat properti TreeNode objek yang dapat terikat ke nilai. Anda dapat mengikat ke bidang item data atau ke nilai statis. Saat terikat ke nilai statis, semua TreeNode objek tempat TreeNodeBinding objek diterapkan berbagi nilai yang sama.
Nota
Anda dapat secara selektif mengambil alih properti terikat dalam TreeNode objek dengan mengatur properti yang sesuai langsung di simpul.
Tabel berikut mencantumkan properti TreeNodeBinding kelas yang memungkinkan Anda mengikat properti TreeNode objek ke bidang item data.
| Harta benda | Deskripsi |
|---|---|
| ImageUrlField | Bidang yang akan diikat ke ImageUrl properti TreeNode objek. |
| ImageToolTipField | Bidang yang akan diikat ke ImageToolTip properti TreeNode objek. |
| NavigateUrlField | Bidang yang akan diikat ke NavigateUrl properti TreeNode objek. |
| TextField | Bidang yang akan diikat ke Text properti TreeNode objek. |
| ToolTipField | Bidang yang akan diikat ke ToolTip properti TreeNode objek. |
| ValueField | Bidang yang akan diikat ke Value properti TreeNode objek. |
Tabel berikut mencantumkan properti TreeNodeBinding kelas yang memungkinkan Anda mengikat properti objek ke TreeNode nilai statis.
| Harta benda | Deskripsi |
|---|---|
| ImageUrl | Nilai statis untuk mengikat properti ImageUrlTreeNode objek. |
| ImageToolTip | Nilai statis untuk mengikat properti ImageToolTipTreeNode objek. |
| NavigateUrl | Nilai statis untuk mengikat properti NavigateUrlTreeNode objek. |
| PopulateOnDemand | Nilai statis untuk mengikat properti PopulateOnDemandTreeNode objek. |
| SelectAction | Nilai statis untuk mengikat properti SelectActionTreeNode objek. |
| ShowCheckBox | Nilai statis untuk mengikat properti ShowCheckBoxTreeNode objek. |
| Target | Nilai statis untuk mengikat properti TargetTreeNode objek. |
| Text | Nilai statis untuk mengikat properti TextTreeNode objek. |
| ToolTip | Nilai statis untuk mengikat properti ToolTipTreeNode objek. |
| Value | Nilai statis untuk mengikat properti ValueTreeNode objek. |
Jika objek yang berkonflik TreeNodeBinding ditentukan, TreeView kontrol menerapkan pengikatan simpul pohon dalam urutan prioritas berikut:
Objek TreeNodeBinding yang menentukan dan mencocokkan kedalaman dan anggota data.
Objek TreeNodeBinding yang menentukan dan mencocokkan anggota data saja.
Objek TreeNodeBinding yang menentukan dan mencocokkan kedalaman saja.
Objek TreeNodeBinding yang mendefinisikan kedalaman atau anggota data. (Jenis pengikatan simpul pohon ini diterapkan ke semua simpul di pohon.)
Objek TreeNodeBinding yang tidak memiliki kecocokan di sumber data. Dalam hal ini, nilai yang dikembalikan oleh
ToStringmetode item data kemudian terikat ke Text properti dan Value simpul tempat TreeNodeBinding objek diterapkan.
Kelas ini TreeNodeBinding juga memungkinkan Anda memformat teks yang ditampilkan dalam simpul dengan mengatur FormatString properti .
Konstruktor
| Nama | Deskripsi |
|---|---|
| TreeNodeBinding() |
Menginisialisasi instans baru dari kelas TreeNodeBinding. |
Properti
| Nama | Deskripsi |
|---|---|
| DataMember |
Mendapatkan atau mengatur nilai yang akan dicocokkan dengan Type properti untuk item data guna menentukan apakah akan menerapkan pengikatan simpul pohon. |
| Depth |
Mendapatkan atau mengatur kedalaman simpul tempat TreeNodeBinding objek diterapkan. |
| FormatString |
Mendapatkan atau mengatur string yang menentukan format tampilan untuk teks simpul tempat TreeNodeBinding objek diterapkan. |
| ImageToolTip |
Mendapatkan atau mengatur teks TipsAlat untuk gambar yang ditampilkan di samping simpul tempat TreeNodeBinding objek diterapkan. |
| ImageToolTipField |
Mendapatkan atau mengatur nama bidang dari sumber data untuk mengikat properti ImageToolTipTreeNode objek tempat TreeNodeBinding objek diterapkan. |
| ImageUrl |
Mendapatkan atau mengatur URL ke gambar yang ditampilkan di samping simpul tempat TreeNodeBinding objek diterapkan. |
| ImageUrlField |
Mendapatkan atau mengatur nama bidang dari sumber data untuk mengikat properti ImageUrlTreeNode objek tempat TreeNodeBinding objek diterapkan. |
| NavigateUrl |
Mendapatkan atau mengatur URL yang akan ditautkan saat simpul tempat TreeNodeBinding objek diterapkan diklik. |
| NavigateUrlField |
Mendapatkan atau mengatur nama bidang dari sumber data untuk mengikat properti NavigateUrlTreeNode objek tempat TreeNodeBinding objek diterapkan. |
| PopulateOnDemand |
Mendapatkan atau menetapkan nilai yang menunjukkan apakah simpul tempat TreeNodeBinding objek diterapkan diisi secara dinamis. |
| SelectAction |
Mendapatkan atau mengatur peristiwa atau peristiwa yang akan dinaikkan saat simpul tempat TreeNodeBinding objek diterapkan dipilih. |
| ShowCheckBox |
Mendapatkan atau mengatur nilai yang menunjukkan apakah kotak centang ditampilkan di samping simpul tempat TreeNodeBinding objek diterapkan. |
| Target |
Mendapatkan atau mengatur jendela target atau bingkai untuk menampilkan isi halaman Web yang terkait dengan simpul tempat TreeNodeBinding objek diterapkan. |
| TargetField |
Mendapatkan atau mengatur nama bidang dari sumber data untuk mengikat properti TargetTreeNode objek tempat TreeNodeBinding objek diterapkan. |
| Text |
Mendapatkan atau mengatur teks yang ditampilkan untuk simpul tempat TreeNodeBinding objek diterapkan. |
| TextField |
Mendapatkan atau mengatur nama bidang dari sumber data untuk mengikat properti TextTreeNode objek tempat TreeNodeBinding objek diterapkan. |
| ToolTip |
Mendapatkan atau mengatur teks TipsAlat untuk simpul tempat TreeNodeBinding objek diterapkan. |
| ToolTipField |
Mendapatkan atau mengatur nama bidang dari sumber data untuk mengikat properti ToolTipTreeNode objek tempat TreeNodeBinding objek diterapkan. |
| Value |
Mendapatkan atau mengatur nilai yang ditampilkan yang tidak ditampilkan tetapi digunakan untuk menyimpan data tambahan tentang simpul tempat objek diterapkan, seperti data yang TreeNodeBinding digunakan untuk menangani peristiwa postback. |
| ValueField |
Mendapatkan atau mengatur nama bidang dari sumber data untuk mengikat properti ValueTreeNode objek tempat TreeNodeBinding objek diterapkan. |
Metode
| Nama | Deskripsi |
|---|---|
| Equals(Object) |
Menentukan apakah objek yang ditentukan sama dengan objek saat ini. (Diperoleh dari Object) |
| GetHashCode() |
Berfungsi sebagai fungsi hash default. (Diperoleh dari Object) |
| GetType() |
Mendapatkan Type instans saat ini. (Diperoleh dari Object) |
| MemberwiseClone() |
Membuat salinan dangkal dari Objectsaat ini. (Diperoleh dari Object) |
| ToString() |
Mengembalikan DataMember properti. |
Implementasi Antarmuka Eksplisit
| Nama | Deskripsi |
|---|---|
| ICloneable.Clone() |
Membuat salinan TreeNodeBinding objek. |
| IDataSourceViewSchemaAccessor.DataSourceViewSchema |
Untuk deskripsi anggota ini, lihat DataSourceViewSchema. |
| IStateManager.IsTrackingViewState |
Untuk deskripsi anggota ini, lihat IsTrackingViewState. |
| IStateManager.LoadViewState(Object) |
Memuat status tampilan yang disimpan sebelumnya untuk simpul. |
| IStateManager.SaveViewState() |
Menyimpan perubahan status tampilan ke objek. |
| IStateManager.TrackViewState() |
Menginstruksikan TreeNode objek untuk melacak perubahan pada status tampilannya. |
Berlaku untuk
Lihat juga
- TreeView
- TreeNode
- TreeNodeBindingCollection
- XmlDataSource
- DataBindings
- DataMember
- Depth
- FormatString
- ImageUrl
- ImageUrlField
- ImageToolTip
- ImageToolTipField
- NavigateUrl
- NavigateUrl
- NavigateUrlField
- PopulateOnDemand
- SelectAction
- ShowCheckBox
- Target
- Text
- Text
- TextField
- ToolTip
- ToolTip
- ToolTipField
- Value
- Value
- ValueField