111,120
社区成员
发帖
与我相关
我的任务
分享 private DataTable dtSource = YourDataTable; // 源表
private string strBefDept = "-1";
/// <summary>
/// 创建部门结点
/// </summary>
/// <param name="lsbNode">根结点名称</param>
private void BuildTree(TreeNode lsbNode)
{
this.lvModel.CheckBoxes = True; // 显示CheckBox
foreach (DataRow dr in this.dtSource.Rows)
{
if (strBefDept.Equals(dr["cName"].ToString()))
continue;
strBefDept = dr["cName"].ToString();
TreeNode sublst = new TreeNode(strBefDept.Equals(string.Empty) ? "NULL" : strBefDept);
sublst.ImageIndex = sublst.SelectedImageIndex = 1;
lsbNode.Nodes.Add(sublst);
string strFilter = string.Format("cName {0}", strBefDept.Equals(string.Empty) ? "IS null" : "= '" + strBefDept + "'");
BuildChildTree(strFilter, sublst);
}
}
/// <summary>
/// 创建子结点
/// </summary>
/// <param name="strFilter">过滤表达式</param>
/// <param name="sublst">部门结点</param>
private void BuildChildTree(string strFilter, TreeNode sublst)
{
string strName = string.Empty;
foreach (DataRow dr in this.dtSource.Select(strFilter))
{
strName = string.Format(" :{0}", dr["realName"].ToString());
TreeNode childNode = new TreeNode(strName);
childNode.ImageIndex = childNode.SelectedImageIndex = 2;
sublst.Nodes.Add(childNode);
}
}