读书人

求助如果将小弟我需要的数据绑定到T

发布时间: 2011-12-22 23:36:25 作者: rapoo

求助,如果将我需要的数据绑定到TREEVIEW中
小弟用如下代码实现了整个数据表的绑定,可是我不想取出所有的分类,只想要我指定的,请问如何弄呢,谢谢,以下是代码,比方说我只要取出父ID为0,ID为2,3,4,5,6,7的分类及他们的子分类,子分类下的子分类。。。。。。。
请问如何来弄,谢谢
protected void Page_Load(object sender, EventArgs e)
{
string Sql = "select * from limfunction order by parentID ";
DataSet ds = SqlHelper.ExecuteDataSet(SqlHelper.sqlstring,CommandType.Text,Sql,null);
this.ViewState[ "ds "] = ds;
if (!this.IsPostBack)
{
AddTree(0, (TreeNode)null, TreeView0);
}

}

public void AddTree(int ParentID, TreeNode pNode,TreeView treename)
{
DataSet ds = (DataSet)this.ViewState[ "ds "];
DataView dvTree = new DataView(ds.Tables[0]);

//过滤ParentID,得到当前的所有子节点
dvTree.RowFilter = "[PARENTID] = " + ParentID ;

foreach (DataRowView Row in dvTree)
{
TreeNode Node = new TreeNode();
if (pNode == null)
{ //添加根节点
Node.Text = Row[ "cname "].ToString();
Node.Value = Row[ "ID "].ToString();
Node.NavigateUrl = Row[ "linkurl "].ToString();
Node.ToolTip = Row[ "cname "].ToString();
treename.Nodes.Add(Node);
Node.Expanded = true;
AddTree(Int32.Parse(Row[ "ID "].ToString()), Node,treename); //再次递归


}
else
{ //̀添加当前节点的子节点
Node.Text = Row[ "cname "].ToString();
Node.Value = Row[ "ID "].ToString();
Node.NavigateUrl = Row[ "linkurl "].ToString();
Node.ToolTip = Row[ "cname "].ToString();
pNode.ChildNodes.Add(Node);
Node.Expanded = true;
AddTree(Int32.Parse(Row[ "ID "].ToString()), Node,treename); //再次递归
}

}
}

[解决办法]
简单一点,查两次.string Sql = "select * from limfunction WHERE ParentID = 0 or ID IN(2,3,4,5,6,7) order by parentID ";Sql += ";select select * from limfunction order by parentID ";开始用ds.Table[0],然后用Table1 递归.

读书人网 >asp.net

热点推荐