使用 DataList 分类循环问题
我用 DataList 显示分类循环页面 出现了下图问题 , 谁能给我改改或提出一些方法,我就是要做循环文章分组 并且在分组内显示文章标题后台代码
using System;
using System.Collections;
using System.Configuration;
using System.Data;
using System.Web;
using System.Web.Security;
using System.Web.UI;
using System.Data.SqlClient;
using System.Web.UI.WebControls;
using System.Web.UI.WebControls.WebParts;
using System.Web.UI.HtmlControls;
namespace new_xnisp
{
public partial class Support : System.Web.UI.Page
{
protected void Page_Load(object sender, EventArgs e)
{
}
private void Select_Support_Category()
{
//连接数据库
SqlConnection conn = App_Code.BaseClass.DBCon();
//定义SQL语句
string resultstr = "select * from dbo.XN_Support_Category as a , dbo.XN_Support as b where a.cname=b.category order by cid";
//实例DataSet
DataSet ds = new DataSet();
//执行SQL语句
SqlCommand cmd = new SqlCommand(resultstr, conn);
//DA
SqlDataAdapter da = new SqlDataAdapter(cmd);
//DS
da.Fill(ds);
//return ds.Tables[0];
//指定数据源
DataList1.DataSource = ds.Tables[0].DefaultView;
//绑定数据源
DataList1.DataBind();
}
protected void DataList1_Load(object sender, EventArgs e)
{
Select_Support_Category();
}
}
}
前台代码:
<asp:DataList ID="DataList1" runat="server" onload="DataList1_Load"
RepeatColumns="2" RepeatDirection="Horizontal">
<ItemTemplate>
<li>
<h4><a href="View_Support_Category.aspx?cid=<%# Eval("cid")%>" target="_blank"><%# Eval("cname")%></a></h4>
<p><a href="View_Support_Article.aspx?id=<%# Eval("id")%>" target="_blank"><%# Eval("Title")%></a></p>
</li>
</ItemTemplate>
</asp:DataList>
数据库表 XN_Support_Category
数据库表 XN_Support
--------------------编程问答-------------------- 我怎么一点头绪也没有呢,各位大侠帮帮忙了,是不是我在嵌套一个datalist就好做些,之前在一个CMS系统里见过,但是没看到代码怎么写的。。。。 --------------------编程问答-------------------- 么人啊 ? --------------------编程问答-------------------- 先直接按类型分类,直接查询XN_Support_Category表,把数据绑定到Datalist上,然后在里面嵌套一个DataList,根据类名查找数据,绑定到第二个DataList中 --------------------编程问答--------------------
--------------------编程问答-------------------- 我找了一些资料 应该做 datalist 嵌套 datalist 或 datalist 嵌套 gridview 来实现 循环分类 并显示标题法 ,在研究中!
-- 这个是 SQL 问题
SELECT *
FROM XN_Support XS
WHERE Category IN (SELECT DISTINCT Category
FROM XN_Support
GROUP BY Category
HAVING COUNT(Category) > 1)
补充:.NET技术 , C#