有的新闻有评论有的没有,分成一个新闻表、一个评论表,通过ID、PID连接,经过查询语句最后数据格式这样的:新闻1 评论A
新闻1 评论B
新闻2 评论A
新闻3 评论A
新闻3 评论B
新闻3 评论C
.
.
想显示成这样:新闻1
---------
评论A
评论B新闻2
--------
评论A新闻3
--------
评论A
评论B
评论C
.
.
.
这个怎么做??用嵌套好象也不行啊,因为有的新闻没有评论。希望大家说的详细些,如用什么语句、什么控件等等,谢谢了!
新闻1 评论B
新闻2 评论A
新闻3 评论A
新闻3 评论B
新闻3 评论C
.
.
想显示成这样:新闻1
---------
评论A
评论B新闻2
--------
评论A新闻3
--------
评论A
评论B
评论C
.
.
.
这个怎么做??用嵌套好象也不行啊,因为有的新闻没有评论。希望大家说的详细些,如用什么语句、什么控件等等,谢谢了!
DataGrid嵌套DataList或GridView嵌套Datalist
select * from 评论表 where 新闻ID=?
用datalist显示出数据来,就OK了..
在.ascx中
1.一個label:用來接收新聞
2.一個datagrid:用來接收當前新聞的評論.
3.添加一個屬性,返回和設置新聞的標題
在.aspx中
添加控件,把新聞標題傳給自定義控件,這樣就可以顯示你想要的新聞和評論
-----------------
在模板设计普通项中,添加一个Lael控件,用来接受新闻标题,在它下面放置datalist2,用来绑定评论的标题...这样我想应该可以满足你的要求....
现在最后数据格式这样的:
新闻1 评论A
新闻1 评论B
新闻2 评论A
新闻3 评论A
新闻3 评论B
新闻3 评论C象“新闻1”,第一个datalist怎么做呢,3条记录怎么就显示1个?然后让第二个datalist取得第一个datalist的newsid循环,这个行
{
if(e.Item.ItemType==ListItemType.Item || e.Item.ItemType==ListItemType.AlternatingItem)
{
foreach(DataListItem item in DataList1.Items)
{
string pid=((Label)item.FindControl("Label1")).Text;
//连接数据库
string pconnstr="Provider=Microsoft.Jet.Oledb.4.0;Data Source="
+Server.MapPath(ConfigurationSettings.AppSettings["数据库路径"])+";";
OleDbConnection pconn=new OleDbConnection(pconnstr);
pconn.Open();
string psql;
psql="select p_name from pnews where n_id='"+pid+"'";
OleDbDataAdapter psa=new OleDbDataAdapter(psql,pconn);
DataSet pds=new DataSet();
psa.Fill(pds,"pnews");
((DataList)item.FindControl("DataList2")).DataSource=pds.Tables["pnews"].DefaultView;
((DataList)item.FindControl("DataList2")).DataBind();
pconn.Close();
pconn.Dispose();
}
}
}
新闻1 评论A
新闻1 评论B
新闻2 评论A
新闻3 评论A
新闻3 评论B
新闻3 评论C
如果用嵌套的话,象“新闻1”有两条,那不是嵌套2次了,那什么了???
新闻1 评论A
新闻1 评论B
新闻2 评论A
新闻3 评论A
新闻3 评论B
新闻3 评论C
这个新闻不是全部新闻是有评论的新闻,,查询出来的结果。。