高手来帮我看看写的无级分类的代码,不知道哪错了

roydu 2006-03-09 07:52:27
是用那个treeview写的。


后台代码:

private Data data=null;
private void Page_Load(object sender, System.EventArgs e)
{
data=new Data();
NextGo();

Page.DataBind();
data.DisPose();

}
void NextGo()
{

DataTable dt=data.GetTable("select * from newsclass");

foreach(DataRow dr in dt.Rows)
{
//进入根节点
if(dr["Fclass"].ToString()=="0")
{
TreeNode node=new TreeNode();
node.Text=dr["ClassName"].ToString();

treeV1.Nodes.Add(node);


//建立此根下节点群的表
dt=new DataTable("select * from newsclass where FCLass="+dr["id"].ToString());

GetChildMenu(dt,node);
}
else
{
TreeNode node =new TreeNode();
node.Text=dr["ClassName"].ToString();
treeV1.Nodes.Add(node);
}

}
}

void GetChildMenu(DataTable dt,TreeNode Fnode)
{
if(dt.Rows.Count!=0)
{
foreach(DataRow dr in dt.Rows)
{
TreeNode node=new TreeNode();
node.Text=dr["ClassName"].ToString();

Fnode.Nodes.Add(node);

dt=new DataTable("select * from newsclass where FCLass="+dr["ClassName"].ToString());
if(dt.Rows.Count!=0)
GetChildMenu(dt,node);

}
}
}
...全文
72 2 打赏 收藏 转发到动态 举报
写回复
用AI写文章
2 条回复
切换为时间正序
请发表友善的回复…
发表回复
LHA 2006-03-09
  • 打赏
  • 举报
回复

DataTable dt=data.GetTable("select * from newsclass"); //注意 ,这里用了dt

foreach(DataRow dr in dt.Rows) //用dt循环 ,也就是说 每次循环都用的到dt
{
//进入根节点
if(dr["Fclass"].ToString()=="0")
{
TreeNode node=new TreeNode();
node.Text=dr["ClassName"].ToString();

treeV1.Nodes.Add(node);


//建立此根下节点群的表
dt=new DataTable("select * from newsclass where FCLass="+dr["id"].ToString());
// 你在这里却把dt 的值重新赋了一个 原先的给你扔了,换个变量吧 如:dt2
roydu 2006-03-09
  • 打赏
  • 举报
回复
Data的方法:

//得到DataTable
public DataTable GetTable(string sql)
{
da=new OleDbDataAdapter(sql,conn);
ds=new DataSet();
da.Fill(ds);
return ds.Tables[0];
}

不知道哪错了,请各位看看

62,074

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术交流专区
javascript云原生 企业社区
社区管理员
  • ASP.NET
  • .Net开发者社区
  • R小R
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

.NET 社区是一个围绕开源 .NET 的开放、热情、创新、包容的技术社区。社区致力于为广大 .NET 爱好者提供一个良好的知识共享、协同互助的 .NET 技术交流环境。我们尊重不同意见,支持健康理性的辩论和互动,反对歧视和攻击。

希望和大家一起共同营造一个活跃、友好的社区氛围。

试试用AI创作助手写篇文章吧