treeview按照查询的条件动态选择节点 本帖最后由 cdzy12153 于 2011-07-30 12:01:04 编辑 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 /// <summary> /// 初始化 RootNode DataTable /// </summary> private void InitRootNodeDataTable(string wherstr) { dataTbl1 = new DataTable(); dataTbl1 = DbAccess.GetDS("select * from page " + wherstr).Tables[0]; //读取并将公共的分类信息添加到数据集中 dataTbl1.TableName = "TreeView"; } /// <summary> /// 初始化树 /// </summary> /// <param name="dt">取得所有的分类</param> private void initTree(DataTable dt) { this.tvCategory.Nodes.Clear();//先清理原先的 if (dt != null && dt.Rows.Count == 0) return; DataRow[] Rows = dt.Select("Page_parent=0 "); if (Rows.Length == 0) return; foreach (DataRow row in Rows) { TreeNode tNode = new TreeNode(); tNode.Value = row["Page_id"].ToString(); tNode.Text = row["Page_name"].ToString(); //tNode.NavigateUrl = ""; //tNode.Target = "MainFrameBS";//指向父窗体右边的那个iframe this.tvCategory.Nodes.Add(tNode); tNode.Expanded = true; createChildNode(tNode, tNode.Value); } ////添加一级“未分类”节点 //TreeNode tNode1 = new TreeNode(); //tNode1.Value = "-1"; //tNode1.Text = "未分类"; //tNode1.NavigateUrl = "BasicInfoConfig.aspx?Class_ID=" + tNode1.Value + ""; //tNode1.Target = "MainFrameBS";//指向父窗体右边的那个iframe //this.tvCategory.Nodes.Add(tNode1); //tNode1.Expanded = true; } /// <summary> /// 创建子节点 /// </summary> /// <param name="node"></param> /// <param name="strParentNo"></param> private void createChildNode(TreeNode node, string strParentNo) { //string parentId=""; DataRow[] Rows = this.dataTbl1.Select("Page_parent='" + strParentNo + "' and Page_parent<>0"); foreach (DataRow row in Rows) { TreeNode childNode = new TreeNode(); childNode.Value = row["Page_id"].ToString(); childNode.Target = "mainFrame";//指向父窗体右边的那个iframe childNode.Text = row["Page_name"].ToString(); childNode.NavigateUrl = "~/"+row["Page_url"].ToString(); ; node.ChildNodes.Add(childNode); createChildNode(childNode, row["Page_id"].ToString()); } } mongodb的联合查询问题 c# 调用matlab生成的dll问题 用VS运行一段C#程序总提示有错误,大家帮我看看这种错误是什么原因 为什么子类无法使用父类的方法和属性? C#能否使用C开发的函数?如何使用? 为什么我重写的DataGridView的Column不见了自动排序功能? 异常System.Web.UI.ViewStateException:Invalid viewstate.刷新后正常 如何用 OleDbConnection 连接到informix 呵呵 网上下注了 注意了 如何用C#做Windows服务器中的服务 WPF Treeview节点的添加问题 一条sql语句
/// <summary>
/// 初始化 RootNode DataTable
/// </summary>
private void InitRootNodeDataTable(string wherstr)
{
dataTbl1 = new DataTable(); dataTbl1 = DbAccess.GetDS("select * from page " + wherstr).Tables[0];
//读取并将公共的分类信息添加到数据集中
dataTbl1.TableName = "TreeView";
} /// <summary>
/// 初始化树
/// </summary>
/// <param name="dt">取得所有的分类</param>
private void initTree(DataTable dt)
{
this.tvCategory.Nodes.Clear();//先清理原先的
if (dt != null && dt.Rows.Count == 0) return;
DataRow[] Rows = dt.Select("Page_parent=0 ");
if (Rows.Length == 0) return;
foreach (DataRow row in Rows)
{
TreeNode tNode = new TreeNode();
tNode.Value = row["Page_id"].ToString();
tNode.Text = row["Page_name"].ToString();
//tNode.NavigateUrl = "";
//tNode.Target = "MainFrameBS";//指向父窗体右边的那个iframe this.tvCategory.Nodes.Add(tNode);
tNode.Expanded = true;
createChildNode(tNode, tNode.Value);
} ////添加一级“未分类”节点
//TreeNode tNode1 = new TreeNode();
//tNode1.Value = "-1";
//tNode1.Text = "未分类";
//tNode1.NavigateUrl = "BasicInfoConfig.aspx?Class_ID=" + tNode1.Value + "";
//tNode1.Target = "MainFrameBS";//指向父窗体右边的那个iframe //this.tvCategory.Nodes.Add(tNode1);
//tNode1.Expanded = true;
}
/// <summary>
/// 创建子节点
/// </summary>
/// <param name="node"></param>
/// <param name="strParentNo"></param>
private void createChildNode(TreeNode node, string strParentNo)
{
//string parentId="";
DataRow[] Rows = this.dataTbl1.Select("Page_parent='" + strParentNo + "' and Page_parent<>0");
foreach (DataRow row in Rows)
{
TreeNode childNode = new TreeNode(); childNode.Value = row["Page_id"].ToString();
childNode.Target = "mainFrame";//指向父窗体右边的那个iframe
childNode.Text = row["Page_name"].ToString();
childNode.NavigateUrl = "~/"+row["Page_url"].ToString(); ; node.ChildNodes.Add(childNode); createChildNode(childNode, row["Page_id"].ToString());
}
}