62,269
社区成员
发帖
与我相关
我的任务
分享public void AddTreeDropDrown(int ParentID, DropDownList pLsit)
{
DataTable dt = new CategoryBLL().GetAllCategory();
DataView dvTree = new DataView(dt);
ListItem li;
//过滤ParentID,得到当前的所有子节点
dvTree.RowFilter = "[PARENT_ID] = " + ParentID;
foreach (DataRowView Row in dvTree)
{
if (pLsit == null)
{ //添加根节点
li = new ListItem("─»" + Row["Category_Name"].ToString(), Row["ID"].ToString());
DropDownList1.Items.Add(li);
AddTreeDropDrown(Int32.Parse(Row["ID"].ToString()), DropDownList1); //再次递归
}
else
{ //̀添加当前节点的子节点
li = new ListItem("└─»" + Row["Category_Name"].ToString(), Row["ID"].ToString());
DropDownList1.Items.Add(li);
AddTreeDropDrown(Int32.Parse(Row["ID"].ToString()), DropDownList1); //再次递归
}
}/// <summary>
/// 绑定分类下拉列表
/// </summary>
private void BindDropDownList()
{
this.TParentCate.Items.Clear();
this.TParentCate.Items.Add(new ListItem("◇根目录", "0"));
BindDropListByList(UCTreeKMCate1.ThisDataSource);
}
/// <summary>
/// List里过滤根基点
/// </summary>
/// <param name="m"></param>
/// <returns></returns>
private bool FindMatch(KnowlegeCate m)
{
if (m.ParentID == 0)
{
return true;
}
return false;
}
/// <summary>
/// 按层次绑定下拉框
/// </summary>
/// <param name="mList"></param>
/// <param name="mPCateID"></param>
private void BindDropListByList(List<KnowlegeCate> mList)
{
string chrFlag = "┆┄◇";
List<KnowlegeCate> list = mList.FindAll(FindMatch);
foreach (KnowlegeCate m in list)
{
this.TParentCate.Items.Add(new ListItem(chrFlag + m.CateName, m.CateID.ToString()));
RecursionBind(mList, m.CateID, ref chrFlag);
}
}
private void RecursionBind(List<KnowlegeCate> mList,int mCateID,ref string chr)
{
foreach (KnowlegeCate m in mList)
{
if (m.ParentID == mCateID)
{
chr = "┆┄" + chr;
this.TParentCate.Items.Add(new ListItem(chr + m.CateName, m.CateID.ToString()));
RecursionBind(mList, m.CateID, ref chr);
}
}
chr = "┆┄◇";
}