[已解决问题] 'TreeView1_data'未定义的问题 在线等 急!急
提问时间: 2007-11-30 16:44
悬赏分:200 浏览:612 次

用TreeView动态从数据库里面读取数据,有时会出现'TreeView1_data'未定义的错误,

我在网络上查了一下,主要是由于该控件没有加载完毕所引起的,

我想请问有什么好的解决办法?

或是如何判断这个控件是否加载完毕,代码应该怎么写?  

谢谢大家!

我的代码如下:
//开始动态绑定导航栏
DataView DV3 = Socut.Data.ExecuteDataSet("select title,id from vod_catalog order by number desc").Tables[0].DefaultView;
foreach (DataRowView datav in DV3)
{
TreeNode tn = new TreeNode();
tn.Text = datav["title"].ToString();
tn.Value = datav["id"].ToString();
tn.Expanded = false;

tn.SelectAction = TreeNodeSelectAction.Expand;

TreeView1.Nodes.Add(tn);

AddChildNodes(tn);
}

public void AddChildNodes(TreeNode tnChild)
{
int bid = Convert.ToInt32(tnChild.Value);
DataView DV = Socut.Data.ExecuteDataSet("select title,id from vod where catalog_id=" + bid + "").Tables[0].DefaultView;
foreach (DataRowView datav in DV)
{
TreeNode tn2 = new TreeNode();
tn2.Text = datav["title"].ToString();
tn2.Value = datav["id"].ToString();
tn2.NavigateUrl = "vod.aspx?id=" + datav["id"].ToString();
tnChild.ChildNodes.Add(tn2);
}
}

 


最佳答案
vs自带的tv是有这个问题,若添加得节点值过多时会出现问题。
可以考虑使用ajax方式加载数据,这样就知道数据何时加载完成了。
请参考这里:
http://www.cnblogs.com/luq885/archive/2007/11/14/959099.html
2007/11/30 17:49:37 回答者:Wilensky


提问者对于答案的评价:谢谢大家!
其它回答(2)
你的实际应用环境是什么?大量的数据还是Ajax之类的?
离开具体应用环境很难分析问题的
7个月前   回答者:坚持信念 - 小虾三级
Wilensky 正解
LZ 结合看看小山的这个http://www.cnblogs.com/singlepine/archive/2006/06/24/434373.html
无刷新树


7个月前   回答者:AndyFish - 小虾三级
评论
   您需要登录以后才能回答!
我的问题    我要提问


快到期问题

> 问题排行榜

有不合适内容,建议去除