一个TreeView问题!!!请指教! 怎么将三个表的数据绑定到TreeView上!例如:表A上的Aname例父节点,表B上的Bname例为子节点,表C上的Url例为链接地址 .我刚学asp.net。很多不懂。希望大家多多指教! 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 使用DataList嵌套html代码:<asp:datalist id="DataList1" runat="server" CellSpacing="2" RepeatColumns="3" Width="80%"> <ItemTemplate> <table width="100%" border="0" align="center"> <tr> <td><a href="#"><strong><font color="#0033cc"><a href='default2.aspx?id=<%# DataBinder.Eval(Container.DataItem, "id") %>'><%# DataBinder.Eval(Container.DataItem, "type_name") %></a></font></strong></a></td> <td> </td> </tr> <tr> <td colspan="2" align="center"><!--子DAALIST--> <asp:DataList id="list2" runat="server" Width="100%" CellSpacing="2" RepeatDirection="Horizontal"> <ItemTemplate> <table width="100%" cellspacing="0" cellpadding="1" style="FONT-SIZE: 13px"> <tr> <td> <a href="#"><font color="#0033cc"><a href='default1.aspx?id=<%# DataBinder.Eval(Container.DataItem, "id") %>'> <%# DataBinder.Eval(Container.DataItem, "type_name")%> </a></font></a> </td> </tr> </table> </ItemTemplate> </asp:DataList> </td> </tr> </table> </ItemTemplate> </asp:datalist>CS代码:private void DataList1_ItemDataBound(object sender, System.Web.UI.WebControls.DataListItemEventArgs e) { string sqlSel,str; int i,i2,i9; DataList list2 = new DataList(); list2 = (DataList)e.Item.FindControl("list2"); i9=this.Hidden1.Value.Length; string finishid = ((DataRowView)e.Item.DataItem).Row["ID"].ToString();//根据父list绑定子list,得到父list得该行的id // sqlSel = "select top 2* from tab_product_type2 where parent_code = '"+finishid+"' order by type_order asc"; if (this.Hidden3.Value !="2")//对子类的绑定进行处理 { if ((this.Hidden1.Value =="") || (i9<3)) { sqlSel = "select top 2* from tab_product_type2 where parent_code = '"+finishid+"' order by type_order asc"; DataSet objdata2 =new DataSet(); objdata2=data1.dbbind(sqlSel); list2.DataSource =SetType(sqlSel); list2.DataBind(); } else { sqlSel="select count(id) from tab_product_type2 where id in ("+this.Hidden1.Value+") and parent_code = '"+finishid+"'"; str=data1.readout (sqlSel,0); i=System.Convert.ToInt16 (str); if (i>2) { list2.DataSource=BindChild(this.Hidden1.Value,finishid,0); list2.DataBind (); //sqlSel="select count(id) from tab_product_type2 where id ("+this.Hidden1.Value+") and parent_code = '"+finishid+"' order by type_order asc"; } else { i=2-i; list2.DataSource=BindChild(this.Hidden1.Value,finishid,i); list2.DataBind (); } } } else//为父类 { DataList list = new DataList(); list = (DataList)e.Item.FindControl("list"); finishid = ((DataRowView)e.Item.DataItem).Row["ID"].ToString();//根据父list绑定子list,得到父list得该行的id sqlSel = "select top 2* from tab_product_type2 where parent_code = '"+finishid+"' order by type_order asc"; DataSet objdata2 =new DataSet(); objdata2=data1.dbbind(sqlSel); list.DataSource =SetType(sqlSel); list.DataBind(); } }在private void InitializeComponent()中加入this.DataList1.ItemDataBound += new System.Web.UI.WebControls.DataListItemEventHandler(this.DataList1_ItemDataBound); http://adandelion.cnblogs.com/articles/235681.htmlhttp://www.cnblogs.com/renyu732/archive/2005/09/27/244735.html 看你的意思。根本就不应当设置三个表,一个表就足够了,至于绑定方法。可以看treeview的资料。 不是我想用三个表!是公司一定要从三个表中抽取数据用TreeView绑定!今天公司不上班。所在在家一个人慢慢研究。 Google网站地图能不能使用相对地址,另外如何对域名进行301转向 ScriptX 插件打印问题,用过的请进。 asp.net基础连接已关闭,连接被意外关闭 如何放大图片? 请教、 动态调用方法方案 (不好意思没什么分,求关注) 使用ListView时遇到的问题 group by count(*) having sql查询,数据重复 求梅雨花 各位大侠,帮帮小弟!《关于request变量》 想学.net技术,应学哪种语言? 自定义安装程序类的详细介绍,高人求解。 如何产生一个警告信息。
html代码:
<asp:datalist id="DataList1" runat="server" CellSpacing="2" RepeatColumns="3" Width="80%">
<ItemTemplate>
<table width="100%" border="0" align="center">
<tr>
<td><a href="#"><strong><font color="#0033cc"><a href='default2.aspx?id=<%# DataBinder.Eval(Container.DataItem, "id") %>'><%# DataBinder.Eval(Container.DataItem, "type_name") %></a></font></strong></a></td>
<td> </td>
</tr>
<tr>
<td colspan="2" align="center"><!--子DAALIST-->
<asp:DataList id="list2" runat="server" Width="100%" CellSpacing="2" RepeatDirection="Horizontal">
<ItemTemplate>
<table width="100%" cellspacing="0" cellpadding="1" style="FONT-SIZE: 13px">
<tr>
<td>
<a href="#"><font color="#0033cc"><a href='default1.aspx?id=<%# DataBinder.Eval(Container.DataItem, "id") %>'>
<%# DataBinder.Eval(Container.DataItem, "type_name")%>
</a></font></a>
</td>
</tr>
</table>
</ItemTemplate>
</asp:DataList>
</td>
</tr>
</table>
</ItemTemplate>
</asp:datalist>CS代码:
private void DataList1_ItemDataBound(object sender, System.Web.UI.WebControls.DataListItemEventArgs e)
{
string sqlSel,str;
int i,i2,i9;
DataList list2 = new DataList();
list2 = (DataList)e.Item.FindControl("list2");
i9=this.Hidden1.Value.Length;
string finishid = ((DataRowView)e.Item.DataItem).Row["ID"].ToString();//根据父list绑定子list,得到父list得该行的id
// sqlSel = "select top 2* from tab_product_type2 where parent_code = '"+finishid+"' order by type_order asc";
if (this.Hidden3.Value !="2")//对子类的绑定进行处理
{
if ((this.Hidden1.Value =="") || (i9<3))
{
sqlSel = "select top 2* from tab_product_type2 where parent_code = '"+finishid+"' order by type_order asc";
DataSet objdata2 =new DataSet();
objdata2=data1.dbbind(sqlSel);
list2.DataSource =SetType(sqlSel);
list2.DataBind();
}
else
{
sqlSel="select count(id) from tab_product_type2 where id in ("+this.Hidden1.Value+") and parent_code = '"+finishid+"'";
str=data1.readout (sqlSel,0);
i=System.Convert.ToInt16 (str);
if (i>2)
{
list2.DataSource=BindChild(this.Hidden1.Value,finishid,0);
list2.DataBind ();
//sqlSel="select count(id) from tab_product_type2 where id ("+this.Hidden1.Value+") and parent_code = '"+finishid+"' order by type_order asc";
}
else
{
i=2-i;
list2.DataSource=BindChild(this.Hidden1.Value,finishid,i);
list2.DataBind ();
}
}
}
else//为父类
{
DataList list = new DataList();
list = (DataList)e.Item.FindControl("list");
finishid = ((DataRowView)e.Item.DataItem).Row["ID"].ToString();//根据父list绑定子list,得到父list得该行的id
sqlSel = "select top 2* from tab_product_type2 where parent_code = '"+finishid+"' order by type_order asc";
DataSet objdata2 =new DataSet();
objdata2=data1.dbbind(sqlSel);
list.DataSource =SetType(sqlSel);
list.DataBind();
}
}
在private void InitializeComponent()中加入this.DataList1.ItemDataBound += new System.Web.UI.WebControls.DataListItemEventHandler(this.DataList1_ItemDataBound);
http://www.cnblogs.com/renyu732/archive/2005/09/27/244735.html