您的位置:首页 > 其它

关于treeview 的个人看法

2007-06-01 18:57 369 查看
好多人 包括我自己啊 对treeview 不大了解 我现在把 treeview如何绑定数据库的代码贴出来,望高手指正!

public partial class UFishing_admin_productList : System.Web.UI.Page
{
protected void Page_Load(object sender, EventArgs e)
{
if (!IsPostBack)
{
UDALMgr dal = new UDALMgr();//UDALMgr 是自己做的一个类

treeDS = dal.DataSet("select * from ProductStyle");
myds.Dispose();
InitTreeRootNode();
treeDS.Dispose();
}
}
DataSet myds = new DataSet();
DataView dataview = new DataView();
private DataSet treeDS;
public void InitTreeRootNode()
{
DataView dataView = new DataView();
dataView = treeDS.Tables[0].Copy().DefaultView;
if (dataView.Table.Rows.Count == 0)
{

return;
}
dataView.RowFilter = "len(ProductStyleID)=2";
foreach (DataRowView drv in dataView)
{
TreeNode tn = new TreeNode();
tn.Value = drv["ProductStyleID"].ToString();
//tn.ImageUrl = drv["ImageCh"].ToString();
tn.Text = drv["ProductStyleNameCh"].ToString();
this.TreeView1.Nodes.Add(tn);
InitTreeChildNode(tn.ChildNodes, 2, tn.Value);
}
}

private void InitTreeChildNode(TreeNodeCollection TNC, int js, string classParentID)
{
DataView dataView = new DataView();
int myjs = 2 * js;
dataView = treeDS.Tables[0].Copy().DefaultView;

dataView.RowFilter = "len(ProductStyleID)=" + myjs.ToString() + "and ProductStyleID like '" + classParentID + "%'";
if (js >= 4) return;
foreach (DataRowView drv in dataView)
{
TreeNode tn = new TreeNode();
tn.Value = drv["ProductStyleID"].ToString();
tn.Text = drv["ProductStyleNameCh"].ToString();
//tn.NavigateUrl = "SwitchPage.aspx?MenuID=" + drv["ProductStyleID"].ToString();
tn.Target = "main";
TNC.Add(tn);
InitTreeChildNode(tn.ChildNodes, js + 1, tn.Value);
}

}
}

这样就可以得到 99个大类,理论上可以无限分类!

原文:http://qiangzi.blog.whnews.cn/blog.php?do-showone-itemid-8469-type-blog.html
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: