日期:2014-05-18  浏览次数:20444 次

在一个DropDownList中,怎么实现级联显示数据?
就是在一个DDL中 查询数据库中的两个字段或者多个级联数据
DDL显示方式:

北京
北京--海淀区
北京--海淀区--中关村
天津
天津--南开区--居祥小区

其中 北京和海淀区是级联关系

------解决方案--------------------
int recursion = 0;
//
public void InitialControls(DropDownList ddl_dept)
{
DataTable dt = new FCD_Department().GetAllDepartment();
this.GeneraterDatatble("0", dt, ddl_dept);
}

private void GeneraterDatatble(string parentId, DataTable datatTable, DropDownList ddl)
{
recursion = recursion + 1; //嵌套一层则加一
string restr = "";
for (int j = 0; j < recursion; j++)
{
restr = restr + "─";
}

DataRow[] drs = datatTable.Select("parentID=" + parentId + "");
for (int i = 0; i < drs.Length; i++)
{
ddl.Items.Add(new ListItem(restr + drs[i]["deptName"].ToString(), drs[i]["deptID"].ToString()));
//
GeneraterDatatble(drs[i]["deptID"].ToString(), datatTable, ddl);
}
recursion = recursion - 1;
}