我有三个表
期刊表(期刊号)
栏目表(栏目名称,栏目序号,期刊号)
文章表(文章id,文章名称,栏目序号)可是就是显示不了,下面哪里错了,请大家帮帮忙private void bindtree(TreeNodeCollection Nds)
{
SqlConnection con = new SqlConnection(ConfigurationManager.ConnectionStrings["LocalSqlServer"].ConnectionString);
con.Open();
string sql = "select * from journal where jstate='建设中'";
//string sql = "select jname from journal where jname='200902'";
//SqlCommand cmd = new SqlCommand(sql, con); SqlDataAdapter adapter = new SqlDataAdapter(sql, con);
DataSet ds = new DataSet();
adapter.Fill(ds, "journal");
DataView dv=ds.Tables[0].DefaultView;
TreeNode tn;
string jname;
foreach(DataRowView dr in dv)
{
jname=dr["jname"].ToString();//当前ID
//if (strID!="")
//{
tn=new TreeNode();
tn.Value = dr["jname"].ToString();
tn.Text = dr["jname"].ToString();
tn.Expanded=true;//是否展开
Nds.Add(tn);
bindtree1(Nds[Nds.Count - 1].ChildNodes, jname);//绑定二级
}
}
private void bindtree1(TreeNodeCollection Nds, string jname)
{
SqlConnection con = new SqlConnection(ConfigurationManager.ConnectionStrings["LocalSqlServer"].ConnectionString);
con.Open();
string sql = "select * from lanmu where jname=(" + jname + ")";
SqlCommand cmd = new SqlCommand(sql, con);
SqlDataAdapter adapter = new SqlDataAdapter(cmd);
DataSet ds = new DataSet();
adapter.Fill(ds, "lanmu");
DataView dv = ds.Tables[0].DefaultView;
TreeNode tn;
string lid;
foreach (DataRowView dr in dv)
{
lid = dr["lid"].ToString();//当前ID
if (jname!="")
{
tn = new TreeNode();
tn.Value = dr["lid"].ToString(); tn.Text = dr["lname"].ToString();
tn.Expanded = true;//是否展开
Nds.Add(tn);
bindtree1(Nds[Nds.Count - 1].ChildNodes, lid);//绑定二级
}
}
} private void bindtree2(TreeNodeCollection Nds, string lid)
{
SqlConnection con = new SqlConnection(ConfigurationManager.ConnectionStrings["LocalSqlServer"].ConnectionString);
con.Open();
string sql = "select * from articles where lid=(" + lid + ")";
SqlCommand cmd = new SqlCommand(sql, con);
SqlDataAdapter adapter = new SqlDataAdapter(cmd);
DataSet ds = new DataSet();
adapter.Fill(ds, "articles");
DataView dv = ds.Tables[0].DefaultView;
TreeNode tn;
string arid;
foreach (DataRowView dr in dv)
{
arid = dr["lid"].ToString();//当前ID
if (lid!= "")
{
tn = new TreeNode();
tn.Value = dr["arid"].ToString();
tn.Text = dr["atitle"].ToString();
tn.NavigateUrl = dr["showartile.aspx"].ToString(); //如果有链接
//tn.Expanded=true;//是否展开
Nds.Add(tn);
//bindtree3(Nds[Nds.Count-1].Nodes,littleclassid);//如果还有下一级
}
}
}
期刊表(期刊号)
栏目表(栏目名称,栏目序号,期刊号)
文章表(文章id,文章名称,栏目序号)可是就是显示不了,下面哪里错了,请大家帮帮忙private void bindtree(TreeNodeCollection Nds)
{
SqlConnection con = new SqlConnection(ConfigurationManager.ConnectionStrings["LocalSqlServer"].ConnectionString);
con.Open();
string sql = "select * from journal where jstate='建设中'";
//string sql = "select jname from journal where jname='200902'";
//SqlCommand cmd = new SqlCommand(sql, con); SqlDataAdapter adapter = new SqlDataAdapter(sql, con);
DataSet ds = new DataSet();
adapter.Fill(ds, "journal");
DataView dv=ds.Tables[0].DefaultView;
TreeNode tn;
string jname;
foreach(DataRowView dr in dv)
{
jname=dr["jname"].ToString();//当前ID
//if (strID!="")
//{
tn=new TreeNode();
tn.Value = dr["jname"].ToString();
tn.Text = dr["jname"].ToString();
tn.Expanded=true;//是否展开
Nds.Add(tn);
bindtree1(Nds[Nds.Count - 1].ChildNodes, jname);//绑定二级
}
}
private void bindtree1(TreeNodeCollection Nds, string jname)
{
SqlConnection con = new SqlConnection(ConfigurationManager.ConnectionStrings["LocalSqlServer"].ConnectionString);
con.Open();
string sql = "select * from lanmu where jname=(" + jname + ")";
SqlCommand cmd = new SqlCommand(sql, con);
SqlDataAdapter adapter = new SqlDataAdapter(cmd);
DataSet ds = new DataSet();
adapter.Fill(ds, "lanmu");
DataView dv = ds.Tables[0].DefaultView;
TreeNode tn;
string lid;
foreach (DataRowView dr in dv)
{
lid = dr["lid"].ToString();//当前ID
if (jname!="")
{
tn = new TreeNode();
tn.Value = dr["lid"].ToString(); tn.Text = dr["lname"].ToString();
tn.Expanded = true;//是否展开
Nds.Add(tn);
bindtree1(Nds[Nds.Count - 1].ChildNodes, lid);//绑定二级
}
}
} private void bindtree2(TreeNodeCollection Nds, string lid)
{
SqlConnection con = new SqlConnection(ConfigurationManager.ConnectionStrings["LocalSqlServer"].ConnectionString);
con.Open();
string sql = "select * from articles where lid=(" + lid + ")";
SqlCommand cmd = new SqlCommand(sql, con);
SqlDataAdapter adapter = new SqlDataAdapter(cmd);
DataSet ds = new DataSet();
adapter.Fill(ds, "articles");
DataView dv = ds.Tables[0].DefaultView;
TreeNode tn;
string arid;
foreach (DataRowView dr in dv)
{
arid = dr["lid"].ToString();//当前ID
if (lid!= "")
{
tn = new TreeNode();
tn.Value = dr["arid"].ToString();
tn.Text = dr["atitle"].ToString();
tn.NavigateUrl = dr["showartile.aspx"].ToString(); //如果有链接
//tn.Expanded=true;//是否展开
Nds.Add(tn);
//bindtree3(Nds[Nds.Count-1].Nodes,littleclassid);//如果还有下一级
}
}
}
解决方案 »
- asp.net 创建控件时出错 AutoCompleteExtender
- gridview分页和GridView1_RowDataBound、e.Row.Cells[7]冲突的问题
- 这句代码在分页里是什么意思。都说这样写不好。那应该如何改呢。(可不可以只改这一句呢???)
- 日期时间格式的转换问题
- 哪位老兄知道 当打开网页的时候,如何根据图象的宽和高来获取相应质量的图象?
- 中秋送礼,要送问题?
- 一个关于DataGrid绑定列DropDownList的问题
- 我想用c#桌面程序和c#三层结构的oa和网友交换c#三层结构的全站程序学习
- 要工作了,迷惘中!
- asp.net mvc view 图片不显示
- 關於textbox獲得焦點問題!
- asp.net(c#)数据采集程序
bindtree1(Nds[Nds.Count - 1].ChildNodes, lid);//绑定二级
应该是绑定第3级了
你何必那么麻烦!!
期刊表(期刊号)
栏目表(栏目名称,栏目序号,期刊号)
文章表(文章id,文章名称,栏目序号)
三层循环添加如
for(期刊表)
{
添加节点a
for(栏目表的期刊号==当前循环到期刊表的期刊号)
{
添加到节点a的子节点b
for(文章表的栏目序号==当前循环到栏目表的栏目序号)
{
添加到节点b的子节点
}
}
}看明白了吗!?