以下はaspxページの私のツリービューコントロールです
<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 アプリケーションを実行したときのツリービューのイメージです。
私がしたいこと?
ルート ノードを選択すると、すべての子ノードも選択され
、子またはルートを選択すると逆に、ポストバック イベントが発生し、グリッドビューをバインドしたいという選択に基づいて発生します。