ASP.NET遞歸綁定DropDownList
發表日期:2019-01-05 文章編輯: 瀏覽次數:4090 標簽:
遞歸綁定ddl
private void BindDDLCA() //在Page_load中加上
{
ddlca.Items.Clear();
ddlca.Items.Insert(0, new ListItem("請選擇分類...", "0"));
List<Model.Category> list = cdao.GetListArray("");
if (list.Count > 0)
{
var query = list.Where(x => x.pid == 0);
foreach (var item in query)
{
ListItem li = new ListItem(item.caname, item.code);
ddlca.Items.Add(li);
int index = 1;
AddChildListItem(list, item.id, index);
}
}
}
//遞歸子節點
private void AddChildListItem(List<Model.Category> list, int pid, int index)
{
int tmp = index;
string space_str = "";
for (int i = 0; i < index; i++)
{
space_str += " ";
}
var query = list.Where(x => x.pid == pid);
foreach (var item in query)
{
ListItem li = new ListItem(space_str + item.caname, item.code);
ddlca.Items.Add(li);
index++;
AddChildListItem(list, item.id, index);
index = tmp;
}
}
綁定ddl的二級分類
//綁定分類
private void BindDLLCode() //在Page_load中加上
{
ddlCode.Items.Clear();
List<Model.Category> list = new DAL.CategoryDAL().GetListArray("");
var q = list.Where(x => x.pid == 0);
foreach (Model.Category item in q)
{
ddlCode.Items.Add(new ListItem(item.caname, item.code));
var q2 = list.Where(y => y.pid == item.id);
foreach (var item2 in q2)
{
ddlCode.Items.Add(new ListItem("|--" + item2.caname, item2. code));
}
}
}