61,657
社区成员




…………
<form id="form1" runat="server">
<asp:GridView ID="GridView1" RowDataBound="GridView1_RowDataBound" runat="server" AutoGenerateColumns="False">
<Columns>
<asp:BoundField HeaderText="第一列" />
<asp:BoundField HeaderText="第二列" />
<asp:BoundField HeaderText="第三列" />
<asp:BoundField HeaderText="第四列" />
<asp:BoundField HeaderText="第五列" />
<asp:TemplateField HeaderText="模板列">
<ItemTemplate>
<asp:DropDownList ID="DropDownList1"runat="server"></asp:DropDownList>
</ItemTemplate>
</asp:TemplateField>
</Columns>
</asp:GridView>
</form>
…………
protected void GridView1_RowDataBound(object sender, System.Web.UI.WebControls.GridViewRowEventArgs e)
{
DropDownList drop = e.Row.FindControl("DropDownList1") as DropDownList;
…………//此处该如何写代码?
//将数据库中的树形数据绑定在DropDownList1中
}
/// <summary>
/// 将多级分类的数据绑定到DropDownList上
/// </summary>
public static void BindDrpClass(string parentid, DataTable dt, string blank, string travel, DropDownList controlID)
{
DataRow[] drs = dt.Select(" Father= '" + parentid + "'");
foreach (DataRow dr in drs)
{
string classid = dr["ID"].ToString();
string classname = dr["_Name"].ToString();
classname = blank + classname;
string travel2 = classid;
string blank2 = "│" + HttpUtility.HtmlDecode(" ") + blank;
controlID.Items.Add(new ListItem(classname, travel2));
BindDrpClass(classid, dt, blank2, travel2, controlID);
}
}
/// <summary>
/// 将多级分类的数据绑定到DropDownList上
/// </summary>
public static void BindDrpClass(string parentid, DataTable dt, string blank, string travel, HtmlSelect controlID)
{
DataRow[] drs = dt.Select(" Father= '" + parentid + "'");
foreach (DataRow dr in drs)
{
string classid = dr["ID"].ToString();
string classname = dr["_Name"].ToString();
classname = blank + classname;
string travel2 = classid;
string blank2 = "│" + HttpUtility.HtmlDecode(" ") + blank;
controlID.Items.Add(new ListItem(classname, travel2));
BindDrpClass(classid, dt, blank2, travel2, controlID);
}
}