Winform和Webform TreeView有什么不同

本文关键字:什么 TreeView Webform Winform | 更新日期: 2023-09-27 18:31:24

我是webform C#的新手。我用TreeView in Webform,好像AfterSelect EventTagName属性不存在?如果没有该属性,我无法从树视图获取数据。是否有任何等效的属性???

两个TreeView ???有什么不同

Winform和Webform TreeView有什么不同

请阅读WinForms TreeView Class文档

和WebForms TreeView Class文档以找出答案。

WinForms AfterSelect 事件可能最等效于 WebForms 树的SelectedNodeChanged事件。

WinForms Name 属性等效于 WebForms 树的 ID 属性。

WinForms Tag 属性可以使用 Value 属性或 ToolTip 属性复制到 WebForms 树中,但它不是直接类似物。

在前端:
<asp:TreeView ID="TreeView1" runat="server"></asp:TreeView>
在后面的代码中:

private void AddChildNode(TreeNode parentNode, int parent)
{
   string st = "SELECT * FROM Peoples WHERE ParentID=" + parent.ToString();
   SqlConnection myConnection = new SqlConnection(ConfigurationManager.ConnectionStrings["DefaultConnection"].ConnectionString);
   myConnection.Open();
   SqlDataAdapter myDataAdpter = new SqlDataAdapter(st, myConnection);
   DataTable tb = new DataTable();
   myDataAdpter.Fill(tb);
   myConnection.Close();
   foreach (DataRow dr in tb.Rows)
   {
     TreeNode node = new TreeNode();
     node.Text = dr["Name"].ToString();
     node.Value = dr["ID"].ToString();
     int childNode = Convert.ToInt32(dr["ID"]);
     if (parentNode == null || parent == 0)
     {
       AddChildNode(node, childNode);
       TreeView1.Nodes.Add(node);
     }
     else
     {
       AddChildNode(node, childNode);
       parentNode.ChildNodes.Add(node);
     }
   }
}

在页面加载中:

protected void Page_Load(object sender, EventArgs e)
{
   if (!Page.IsPostBack)
      {
           TreeNode node = null;
           AddChildNode(node, 0);
      }
}

该代码适用于下面的 SQL:
人民
身份证 |姓名 |出生日期 |性别 |地址 |电话号码 |家长编号 |
36 |查兰克莱恩 |1990-03-02 |男 |美国 |
037 |奥黛丽·克莱恩 |1980-05-12 |女 |美国 |36
38 |克里斯·克莱恩 |1985-02-12 |女 |美国 |36

"

人民"是表的名称,"父 ID"是父 ID 列的名称:
字符串 st = "SELECT * FROM Peoples WHERE ParentID=" + parent。ToString();
焦点查询:"
从 Parent ID=" + Parent。ToString();
您更改"按表划分的人民",并通过"父 ID"列更改"父 ID"。

这是AddChildNode所做的:
主节点 -> 父节点 -> 所有子节点(父节点)-> 所有子节点的所有子节点 -> ...
使列 ParentID 的所有值不为空,使用 0。