请教 treeview 问题

HaiYang2006 2009-12-01 12:33:19

表:
u_ident realName c_ident cName
25 李婕 1 诺亚
27 佳 1 诺亚
1 李永 3 移动

想实现以下结果:
----------------
诺亚
李婕


移动
李永
----------------
哪位做过,请指点一下,如果再能实现checkBox就更好了!
...全文
100 8 打赏 收藏 转发到动态 举报
写回复
用AI写文章
8 条回复
切换为时间正序
请发表友善的回复…
发表回复
qqiuzaihui 2009-12-01
  • 打赏
  • 举报
回复
        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);
}
}
WTPMCheng 2009-12-01
  • 打赏
  • 举报
回复
这里有个例子,可以参看参考
http://blog.csdn.net/WTPMCheng/archive/2009/07/02/4315813.aspx

节点选中与checkbox可以去参考下
http://www.cnblogs.com/virusswb/archive/2008/08/06/1261845.html
龙宜坡 2009-12-01
  • 打赏
  • 举报
回复
WebForm or WinForm?

WTPMCheng 2009-12-01
  • 打赏
  • 举报
回复
cName对应的编号是c_ident(应该是唯一)
那你就可以通过c_ident来查realName

先查询出所有的cName绑定到treeview,在根据c_ident查询出realName绑定到cName节点的子节点上。。
goto_code 2009-12-01
  • 打赏
  • 举报
回复
至于checkbox可以选择treeview的checkboxs属性为true;
goto_code 2009-12-01
  • 打赏
  • 举报
回复
一般的Treeview的存储表格式为(id,pid,name),详情请看
http://www.cnblogs.com/lifw/articles/1609783.html
有图有真相
HaiYang2006 2009-12-01
  • 打赏
  • 举报
回复
up
zhaojian19910220 2009-12-01
  • 打赏
  • 举报
回复

111,120

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术 C#
社区管理员
  • C#
  • AIGC Browser
  • by_封爱
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

让您成为最强悍的C#开发者

试试用AI创作助手写篇文章吧