This article was translated by machine. To view in the article in English, select the English check box. You can also display the English text in a popup window by moving the mouse pointer over the text.
الترجمة
الأصلي
This documentation is archived and is not being maintained.

TreeView.TreeNodePopulate الحدث

Visual Studio 2010

عند PopulateOnDemandخاصية لعقدة هو تعيين إلى true، يتم تعبئة تلك العقدة عند تشغيل الوقت عند العقدة هو موسعة.TreeView

مساحة الاسم:  System.Web.UI.WebControls
التجميع:  System.Web (في System.Web.dll)

public event TreeNodeEventHandler TreeNodePopulate
<asp:TreeView OnTreeNodePopulate="TreeNodeEventHandler" />

استخدام خاصية عنصر تحكم مقدار المسافة بين الحافة اليسرى لعقدة تابعة والحافة اليسرى للعقدة الأصل الخاص به. عقدة العميل المحتوى (في المستعرضات المعتمدة).TreeView PopulateOnDemand عنصر التحكم هو مصمم للاستخدام داخل trueالتحكم فقط حين هو تعيين إلى .

PopulateOnDemand تؤثر خاصية على كل عقدة تابعة في trueعنصر تحكم. Expansion عقدة indicators are used إلى إظهار whether a عقدة هو موسّع, مطوي, أو non-expandable.TreeNodePopulate يوضح المثال تعليمات برمجية التالي كيفية استخدام ChildNodesخاصية عنصر تحكم مسافة بادئة للعقد التابعة. يحصل على مجموعة من TreeNodeالكائنات التي تمثل العقد الجذرية الموجودة في ChildNodesعنصر تحكم.

ملاحظةملاحظة

PopulateOnDemand الذي يحتوي على جذر العقد في true. استخدام الخاصية إلى الحصول على الكائن الذي يحتوي على كافة العقد الجذرية الموجودة في الشجرة.

وهذا مجموعة يستخدم عادة لتكرار بسرعة عبر الجميع العقد الجذرية، أو للوصول إلى عقدة جذر محدد في شجرة وحدة التحكم. استخدم the TreeView خاصية إلى specify whether the expansion عقدة indicators are displayed في the عنصر تحكم. عقدة له لا يوجد اﻷطفال هو يطلق على PopulateNodesFromClientعقدة طرفية .

للحصول على مزيد من المعلومات حول معالجة الأحداث، راجع استهلاك الأحداث.

The following تعليمات برمجية مثال demonstrates how إلى استخدم the TreeNodePopulate خاصية إلى إظهار و إخفاء the expansion عقدة رموز. TreeView Notice that the EnableClientScript property is set to false to prevent expanding-node events from being handled on the client.



<%@ Page Language="C#" %>
<%@ Import Namespace="System.Data" %>
<%@ Import Namespace="System.Data.SqlClient" %>

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
    "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<script runat="server">

  void PopulateNode(Object sender, TreeNodeEventArgs e)
  {

    // Call the appropriate method to populate a node at a particular level.
    switch(e.Node.Depth)
    {
      case 0:
        // Populate the first-level nodes.
        PopulateCategories(e.Node);
        break;
      case 1:
        // Populate the second-level nodes.
        PopulateProducts(e.Node);
        break;
      default:
        // Do nothing.
        break;
    }

  }

  void PopulateCategories(TreeNode node)
  {

    // Query for the product categories. These are the values
    // for the second-level nodes.
    DataSet ResultSet = RunQuery("Select CategoryID, CategoryName From Categories");

    // Create the second-level nodes.
    if(ResultSet.Tables.Count > 0)
    {

      // Iterate through and create a new node for each row in the query results.
      // Notice that the query results are stored in the table of the DataSet.
      foreach (DataRow row in ResultSet.Tables[0].Rows)
      {

        // Create the new node. Notice that the CategoryId is stored in the Value property 
        // of the node. This will make querying for items in a specific category easier when
        // the third-level nodes are created. 
        TreeNode NewNode = new TreeNode(row["CategoryName"].ToString(), row["CategoryID"].ToString());

        // Set the PopulateOnDemand property to true so that the child nodes can be 
        // dynamically populated.
        NewNode.PopulateOnDemand = true;

        // Set additional properties for the node.
        NewNode.SelectAction = TreeNodeSelectAction.Expand;

        // Add the new node to the ChildNodes collection of the parent node.
        node.ChildNodes.Add(NewNode);

      }

    }

  }

  void PopulateProducts(TreeNode node)
  {

    // Query for the products of the current category. These are the values
    // for the third-level nodes.
    DataSet ResultSet = RunQuery("Select ProductName From Products Where CategoryID=" + node.Value);

    // Create the third-level nodes.
    if(ResultSet.Tables.Count > 0)
    {

      // Iterate through and create a new node for each row in the query results.
      // Notice that the query results are stored in the table of the DataSet.
      foreach (DataRow row in ResultSet.Tables[0].Rows)
      {

        // Create the new node.
        TreeNode NewNode = new TreeNode(row["ProductName"].ToString());

        // Set the PopulateOnDemand property to false because these are leaf nodes and
        // do not need to be populated.
        NewNode.PopulateOnDemand = false;

        // Set additional properties for the node.
        NewNode.SelectAction = TreeNodeSelectAction.None;

        // Add the new node to the ChildNodes collection of the parent node.
        node.ChildNodes.Add(NewNode);

      }

    }

  }

  DataSet RunQuery(String QueryString)
  {

    // Declare the connection string. This example uses Microsoft SQL Server and connects to the
    // Northwind sample database.
    String ConnectionString = "server=localhost;database=NorthWind;Integrated Security=SSPI"; 

    SqlConnection DBConnection = new SqlConnection(ConnectionString);
    SqlDataAdapter DBAdapter;
    DataSet ResultsDataSet = new DataSet();

    try
    {

      // Run the query and create a DataSet.
      DBAdapter = new SqlDataAdapter(QueryString, DBConnection);
      DBAdapter.Fill(ResultsDataSet);

      // Close the database connection.
      DBConnection.Close();

    }
    catch(Exception ex)
    {

      // Close the database connection if it is still open.
      if(DBConnection.State == ConnectionState.Open)
      {
        DBConnection.Close();
      }

      Message.Text = "Unable to connect to the database.";

    }

    return ResultsDataSet;

  }

</script>

<html xmlns="http://www.w3.org/1999/xhtml" >
  <head runat="server">
    <title>TreeView TreeNodePopulate Example</title>
</head>
<body>
    <form id="form1" runat="server">

      <h3>TreeView TreeNodePopulate Example</h3>

      <asp:TreeView id="LinksTreeView"
        Font-Names= "Arial"
        ForeColor="Blue"
        EnableClientScript="false" 
        OnTreeNodePopulate="PopulateNode"
        runat="server">

        <Nodes>

          <asp:TreeNode Text="Inventory" 
            SelectAction="Expand"  
            PopulateOnDemand="true"/>

        </Nodes>

      </asp:TreeView>

      <br /><br />

      <asp:Label id="Message" runat="server"/>

    </form>
  </body>
</html>



نظام التشغيل Windows 7, Windows Vista, Windows XP SP2, Windows XP Media Center Edition, الإصدار x64 من نظام التشغيل Windows XP Professional, Windows XP Starter Edition, Windows Server 2008, نظام التشغيل Windows Server 2003, نظام التشغيل Windows Server 2000 المزود بحزمة الخدمة SP4, نظام التشغيل Windows Millennium Edition, نظام التشغيل Windows 98

لا يدعم .NET Framework و .NET Compact Framework كافة الإصدارات الخاصة بكل نظام أساسي. للحصول على قائمة بالإصدارات المدعمة، راجع متطلبات النظام إطار عمل .NET.

.NET Framework

مدعوم في: 4, 3.5, 3.0, 2.0
إظهار: