// public static List<TreeViewData> ConvertToTreeViewData(
/// <summary>
/// 向TreeView填充数据
/// </summary>
/// <param name="treeView"></param>
/// <param name="treeDatas">要填充的数据</param>
/// <param name="pID">最高类别的父类别</param>
/// <returns></returns>
public static bool InsertDataToTreeView(TreeView treeView, List<TreeViewData> treeDatas,int pID) {
TreeViewTool.pID = pID;
int len = treeDatas.Count;
int j = 0;
for (int i = 0; i < len; i++) {
if ((int)treeDatas[i].PID == pID) {
treeView.Nodes.Add(treeDatas[i].Name.ToString());
treeView.Nodes[j].Tag = treeDatas[i].Id;
j++;
}
}
for (int i = 0; i < treeView.Nodes.Count; i++) {
TempTreeView(treeView.Nodes[i], treeDatas);
}
return false;
}
private static void TempTreeView(TreeNode tn, List<TreeViewData> treeDatas) {
int len = treeDatas.Count;
int j = 0;
for (int i = 0; i < len; i++) {
if ((int)treeDatas[i].PID != pID) {
if ((int)treeDatas[i].PID == (int)tn.Tag) {
tn.Nodes.Add(treeDatas[i].Name.ToString());
tn.Nodes[j].Tag = treeDatas[i].Id;
TempTreeView(tn.Nodes[j], treeDatas);
j++;
}
}
}
}
调用上边的第一个方法,并且里边需要用到一个实体类:
public class TreeViewData {
Object id;
/// <summary>
/// 编号
/// </summary>
public Object Id {
get { return id; }
set { id = value; }
}
Object name;
/// <summary>
/// 名称
/// </summary>
public Object Name {
get { return name; }
set { name = value; }
}
Object pID;
/// <summary>
/// 父类别
/// </summary>
public Object PID {
get { return pID; }
set { pID = value; }
}
}