在首个任务中boss提出要分级显示的要求,但对于一直懒惰的自己还真是一个不小的考验,从未尝试过,好在可以“百度一下”,问题基本解决。在此分享下:
Map_db db = new Map_db();
DataTable dt1 = db.dt("select * from Map_AreaClass");
ddl_editszdq.Items.Clear();
DataRow[] row = dt1.Select("fid=" + 0);
foreach (DataRow da in row)
{
string classid = da["id"].ToString();
string classname = da["title"].ToString();
//顶级分类显示形式
classname = "" + classname;
ddl_editszdq.Items.Add(new ListItem(classname, classid));
int sonparentid = int.Parse(classid);
string blank = " ";
//递归子分类方法
BindNode3(sonparentid, dt1, blank);
}
ddl_editszdq.DataBind();
调用的方法
private void BindNode3(int parentid, DataTable dt, string blank)
{
DataRow[] row = dt.Select("fid= " + parentid);
foreach (DataRow drr in row)
{
string classid = drr["id"].ToString();
string classname = drr["title"].ToString();
classname = blank + classname;
ddl_editszdq.Items.Add(new ListItem(classname, classid));
int sonparentid = int.Parse(classid);
string blank2 = blank + " ";
BindNode3(sonparentid, dt, blank2);
}
}