下面是我在aspx页面中的treeview控件
<asp:TreeView ID="TvCategories" runat="server" ShowCheckBoxes="All" OnSelectedNodeChanged="TvCategories_SelectedNodeChanged">
</asp:TreeView>
我动态绑定它如下:
DataSet ds = new DataSet();
DataTable dt = new DataTable();
ds = BindCategories();
dt = ds.Tables[0];
for (int i = 0; i < dt.Rows.Count; i++)
{
TreeNode firstchild = new TreeNode();
firstchild.Text = " Shoes";
firstchild.SelectAction = TreeNodeSelectAction.Select;
TvCategories.Nodes.Add(firstchild);
DataSet ds1 = new DataSet();
ds1 = BindSubCategories(dt.Rows[i]["InventoryType"].ToString());
DataTable dt1 = ds1.Tables[0];
for (int j = 0; j < dt1.Rows.Count; j++)
{
TreeNode childnode = new TreeNode();
childnode.SelectAction = TreeNodeSelectAction.Select;
if (j == 0)
childnode.Text = "Nike";
if (j == 1)
childnode.Text = "Rebok";
if (j == 2)
childnode.Text = "Addidas";
firstchild.ChildNodes.Add(childnode);
}
}
下面是我在浏览器中运行Web应用程序时树形图的图像:
我想做什么?
通过选择根节点也将选择所有子节点,反之亦然 当我选择任何子项或任何根时,将触发一个回发事件,并根据选择我想绑定gridview。
答案 0 :(得分:0)
我建议你将子节点值与父节点值一起追加,这样当你想根据用户选择绑定gridview时,它就很容易了。
查看下面显示如何检查父子节点的链接:
http://nilthakkar.blogspot.in/2009/04/check-uncheck-treeview-checkboxes-with_13.html
您可以使用treeview的Checkednodes属性来估计树视图的已检查节点。
查看以下链接,了解如何操作。
http://nilthakkar.blogspot.in/2009/05/retrieve-selected-treenode-value-at.html
答案 1 :(得分:0)
使用此代码发回更改的支票:
<script language="javascript" type="text/javascript">
e = e || window.event;
var o = e.srcElement || e.target;
</script>
<asp:TreeView ID="TvCategories" runat="server" ShowCheckBoxes="All onclick="postBackByObject(this);" >
</asp:TreeView>
<script language="javascript" type="text/javascript">
document.getElementById('<%=TvCategories.ClientID %>').addEventListener('click', postBackByObject);
</script>
来自here
的部分内容