我的DropDownList实现的是树型结构,方法如下
前台
<asp:DropDownList ID="DropDownList1" runat="server" Width="150px"
</asp:DropDownList>
后台protected void Page_Load(object sender, EventArgs e)
{
DataBase.SQLServer db = new DataBase.SQLServer();
string sqlstr = "select * from Department";
DataTable dt = db.Select(sqlstr);
DataRow[] row = dt.Select("id_parent='-1'"); ListItem li = new ListItem(row[0]["department"].ToString());
DropDownList1.Items.Add(li);
addOtherDll("", Convert.ToInt32(row[0]["id_node"]), dt, 1);
--------
public void addOtherDll(string Pading, int DirId, DataTable datatable, int deep)
{
DataRow[] rowlist = datatable.Select("id_parent='" + DirId + "'");
foreach (DataRow row in rowlist)
{
string strPading = "";
for (int j = 0; j < deep; j++)
{
strPading += " ";
}
ListItem li = new ListItem(strPading + "∟" + row["department"].ToString());
DropDownList1.Items.Add(li);
addOtherDll(strPading, Convert.ToInt32(row["id_node"]), datatable, deep + 1);
}
}
}下面我想实现选择树形菜单中某一级后能够取相应的id_node,不知该如何做,谢谢
前台
<asp:DropDownList ID="DropDownList1" runat="server" Width="150px"
</asp:DropDownList>
后台protected void Page_Load(object sender, EventArgs e)
{
DataBase.SQLServer db = new DataBase.SQLServer();
string sqlstr = "select * from Department";
DataTable dt = db.Select(sqlstr);
DataRow[] row = dt.Select("id_parent='-1'"); ListItem li = new ListItem(row[0]["department"].ToString());
DropDownList1.Items.Add(li);
addOtherDll("", Convert.ToInt32(row[0]["id_node"]), dt, 1);
--------
public void addOtherDll(string Pading, int DirId, DataTable datatable, int deep)
{
DataRow[] rowlist = datatable.Select("id_parent='" + DirId + "'");
foreach (DataRow row in rowlist)
{
string strPading = "";
for (int j = 0; j < deep; j++)
{
strPading += " ";
}
ListItem li = new ListItem(strPading + "∟" + row["department"].ToString());
DropDownList1.Items.Add(li);
addOtherDll(strPading, Convert.ToInt32(row["id_node"]), datatable, deep + 1);
}
}
}下面我想实现选择树形菜单中某一级后能够取相应的id_node,不知该如何做,谢谢
什么意思?节点的ID?你是要取value?