现在有了一级分类的id
现在要绑定一级分类id为1的所有的二级分类
现在不知道绑定怎么写了,绑定出来的二级分类要是 超链接的格式那位会写代码啊,给我点思路也行啊
现在要绑定一级分类id为1的所有的二级分类
现在不知道绑定怎么写了,绑定出来的二级分类要是 超链接的格式那位会写代码啊,给我点思路也行啊
解决方案 »
- 字符串截取后面2位数
- .net中关于Excel导出的问题及解决办法.希望对大家有用.
- 再问搜索引擎关键字字符串的读取问题(急急!!)
- 那个帮我把这个函数补全下,谢谢!!!!
- 在DataList里面放置lable控件,给Lable控件赋值。出现错误:未将对象引用设置到对象的实例.
- 比较郁闷而且奇怪的问题
- 再问一简单问题,关于GridView摸版-RadioButtonList的使用.
- 怎样把Cookies放在服务器内存里,而不写入用户磁盘里?
- 把做好的网站发布到服务器上。
- 关于c#——asp.net网页获取客户端网卡信息
- vs2005 自定义控件 之 未知的服务器标记,请解答,谢谢
- 100求一个DrowListDown的无级分类树形,我是用三层开发的!
后台代码
ds = mc.SelectData("select * from FirstClass", "first");
try
{
DataTable dt = des.Tables["first"];
dl.DataSource = dt;
dl.DataBind();
ds = mc.SelectData("select id as sid,secondname,fid from SecondClass", "second");
DataView sdv = ds.Tables["second"].DefaultView; for (int i = 0; i < dt.Rows.Count; i++)
{
DataRow dr = dt.Rows[i];
sdv.RowFilter = "fid = " + dr["id"].ToString();
DataList dal = (DataList)dl.Items[i].FindControl(name);
dal.DataSource = sdv;
dal.DataBind();
}
}
catch (Exception ex)
{ Response.Write("<script>alert('"+ex.Message+"')</script>");
}
前台代码
<asp:DataList ID="dlf" runat="server" Width="222px">
<ItemTemplate>
<table width="100%">
<tr>
<td onclick="show(<%#Eval("id") %>)" id="td<%#Eval("id") %>" class="STYLE37" style="font-size:12;cursor:pointer;height:28px; background-image: url(images/t1.jpg);">
<%#Eval("firstname") %>
</td>
</tr>
<tr style="display:none;cursor:pointer;font-size:12pt; background-color: aliceblue;" id="left<%#Eval("id") %>" class="STYLE38" >
<td>
<asp:DataList ID="dls" runat="server">
<ItemTemplate>
<div onmouseover="this.className='l1'" onmouseout="this.className='l2'">
<a style="font-size:10pt" href="product.aspx?id=<%#Eval("sid") %>"> <%#Eval("secondname") %></a></div>
</ItemTemplate>
</asp:DataList>
</td>
</tr>
</table>
</ItemTemplate>
<ItemStyle HorizontalAlign="Center" VerticalAlign="Top" Font-Size="12pt" />
</asp:DataList>
var o = "";
function show(id)
{
var obj = document.getElementById("left"+id);
var m = document.getElementById("td"+id);
if(obj.style.display == "none" || obj.style.display == "")
{
obj.style.display = "block";
if(o != "")
{
document.getElementById("left"+o).style.display = "none";
document.getElementById("td"+o).style.background = "url(images/t1.jpg)";
m.style.background = "url(images/t2.jpg)";
o = id;
}
else
{
m.style.background = "url(images/t2.jpg)";
o = id;
}
}
else
{
m.style.background = "url(images/t1.jpg)";
obj.style.display = "none";
o = "";
}
}
表结构
id supid(父级) titlename
----------------------------
1 0 A
2 1 B
3 1 C
的这种格式 using System;
using System.Data;
using System.Configuration;
using System.Web;
using System.Web.Security;
using System.Web.UI;
using System.Web.UI.WebControls;
using System.Web.UI.WebControls.WebParts;
using System.Web.UI.HtmlControls;/// <summary>
/// DropDownList 的摘要说明
/// </summary>
public class DropDownListTree
{ /// <summary>
/// 树形DropDownList绑定
/// </summary>
/// <param name="sql">sql语句</param>
/// <param name="dropParent">绑定数据的控件ID</param>
/// <param name="strID">表的 标示列的字段名</param>
/// <param name="strName">要显示文本的字段名</param>
/// <param name="strPid">父例字段名称</param>
public void BindDropList(string sql, DropDownList dropParent, string strID, string strName, string strPid)
{
DataTable dt = Diancheng.DAL.Data.FillDataTable(CommandType.Text, sql, null);
if (dt.Rows.Count > 0)
{
foreach (DataRow row in dt.Rows)
{
if (row[strPid].ToString().Trim() == "0")//绑定根节点
{
dropParent.Items.Add(new ListItem(row[strName].ToString(), row[strID].ToString()));
bindDropChildItem(dropParent, dt, row[strID].ToString(), 1, strID, strName, strPid);
}
}
}
} private void bindDropChildItem(DropDownList d, DataTable dt, string id, int length, string strID, string strName, string strPid)
{
DataRow[] rows = dt.Select(strPid + "=" + id);//取出id子节点
for (int i = 0; i < rows.Length; i++)
{
d.Items.Add(new ListItem(this.SpaceLength(length) + rows[i][strName].ToString(), rows[i][strID].ToString()));
//无限级加
this.bindDropChildItem(d, dt, rows[i][strID].ToString(), length - 1, strID, strName, strPid);//空白数目加1
}
} private string SpaceLength(int i)
{
string space = "";
for (int j = 0; j < i; j++)
{
space = " └─";//用做显示
}
return space;
}
}