请教高手 在线等 关于vs.net2005中的treeview使用问题
protected void BindDataDT()
{
kogbd.DataAccess.SqlService db=new kogbd.DataAccess.SqlService();
string sql = "select top 10 orgid,orgname,parentcode,selfcode from t_Organzation ";
mydataDT = db.GetDataTable(sql);
}
//treeview递归
public void InitTree(TreeNodeCollection tns, string parentid)
{
DataView dv =mydataDT.DefaultView;
dv.RowFilter = "parentcode=" + parentid;
TreeNode tn;
foreach (DataRowView drv in dv)
{
tn = new TreeNode();
tn.Text = drv["parentcode"].ToString()+"_" + drv["selfcode"].ToString() + drv["orgname"].ToString();
tn.Value = drv["selfcode"].ToString();
tns.Add(tn);
InitTree(tn.ChildNodes, tn.Value);
}
}
protected void Button2_Click(object sender, EventArgs e)
{
BindDataDT();
TreeNode node = new TreeNode();
node.Text = "办事机构";
node.Value = "0";
InitTree(TreeView2.Nodes, "0");
}
请问这有问题吗 怎么老通不过了报错
------解决方案--------------------抱什么错,错误信息给出来撒
------解决方案--------------------先确认你的mydataDT 有没有取到数据吧,跟踪一下就看出来了
------解决方案--------------------改成如下
C# code
protected void Button2_Click(object sender, EventArgs e)
{
BindDataDT();
TreeNode node = new TreeNode();
node.Text = "办事机构";
node.Value = "0";
TreeView2.Nodes.Add(node);
InitTree(TreeView2.Nodes[0].ChildNodes, "0");
}
------解决方案--------------------
tn.Value
修改为
tn.NodeData
------解决方案--------------------
我总感觉你这种邦定怎么改都会有问题。。。
我的做法是先帮第一级节点,之后再开始调用递归。。
给你找个例子参考一下。。。
http://topic.csdn.net/u/20070921/16/6e0f507d-b5e3-43b6-a07a-e12031bdd704.html
虽然这里边只绑了2级菜单,多级的话你可以在addchildmenu1继续调用addchildmenu1。。。。