日期:2014-05-18 浏览次数:21355 次
private void frmMain_Load(object sender, EventArgs e)
{
TreeMenu treeMenu = new TreeMenu();
List<TreeMenuInfo> cdb = treeMenu.GetTopMenu();
foreach (TreeMenuInfo info in cdb)
{
TreeNode node = new TreeNode(info.Cdmc);
node.Name = info.Cdid;
node.Tag = info.Cddyb;
DataSet ds = CommClass.GetDataSet(info.Cddyb, "fjgbh", "0");
foreach (DataRow row in ds.Tables[0].Rows)
{
node = CreateChildNode(node, row, info.Cddyb, "jgmc", "jgbh", "org", "fjgbh");
}
this.tvwMenu.Nodes.Add(node);
}
}
private TreeNode CreateChildNode(TreeNode node, DataRow row, string tableName, string mcField, string bhField, string tagValue, string fbhField)
{
TreeNode node2 = new TreeNode(row[mcField].ToString().Trim());
node2.Name = row[bhField].ToString().Trim();
node2.Tag = tagValue;
DataSet ds = CommClass.GetDataSet(tableName, fbhField, row[bhField].ToString().Trim());
foreach (DataRow row2 in ds.Tables[0].Rows)
{
node2 = CreateChildNode(node2, row2, tableName, mcField, bhField, tagValue, fbhField);
}
node.Nodes.Add(node2);
return node;
}
------解决方案--------------------
--集体
--公司
--部门
--员工
------解决方案--------------------
现在的一般解决方案是用js的树形控件+服务器端生成xml或者json的数据。
js的树形控件有很多,比如ext的tree组件,jquery,dhtmlxtree,随便找一个照着例子做。
数据库要维持这个树形结构,一般要包括id,upid,其他字段自定义。
------解决方案--------------------
看看这个,跟你的需求完全类似:
WinForm中TreeView数据绑定