类型:转载 责任编辑:asp.net 日期:2007/05/23
热门软件下载:
我的原理是,当利用datalist梆定的时候传过来每行的一个id值,取出这个ID值,再绑定datagrid一个列中的嵌套的datalist
前台代码如下:
<asp:datagrid id="BBS" runat="server" Width="100%" ShowHeader="False" AutoGenerateColumns="False" OnItemDataBound="MydataGrid_bound">
<Columns>
<asp:TemplateColumn>
<HeaderStyle Width="85px">
</HeaderStyle> <ItemTemplate>
<asp:DataList id="show" runat="server" Width="400px" ShowHeader="False" ShowFooter="False" RepeatColumns="1">
<ItemTemplate>
//datalist
<asp:DataList id="show" runat="server">
<ItemTemplate>
<TABLE width="96%" height="134" border="1" align="center" cellPadding="0" cellSpacing="0" borderColorLight="#D2A0F3" borderColorDark="#ffffff"> <TR>
<TD><SPAN class="style1">发言者</SPAN> <%# DataBinder.Eval(Container, "DataItem.speak") %><SPAN class="style1">发言时间</SPAN><%# DataBinder.Eval(Container, "DataItem.s_time") %></TD>
</TR>
<TR>
<TD height="46">
<%# DataBinder.Eval(Container, "DataItem.talk") %>。
</TD>
</TR>
</TABLE>
</ItemTemplate>
</asp:DataList>
</ItemTemplate>
</asp:DataList>
</ItemTemplate>
</Columns>
</asp:datagrid>
后台:
datagrid绑定的时候
public void MydataGrid_bound(object sender,System.Web.UI.WebControls.DataGridItemEventArgs e)
{ DataGridItem item = e.Item;
ListItemType itemType = e.Item.ItemType;
if (itemType != ListItemType.Header && itemType != ListItemType.Footer && itemType !=ListItemType.Separator)
{
DataList sh=(DataList)e.Item.Cells[2].Controls[1];
//绑定嵌套datalist;
string id=item.Cells[0].Text.Trim();
sql="select top 2 * from bbs where b_userid="+id+" order by s_time desc";
da=new OleDbDataAdapter(sql,conn);
ds=new DataSet();
da.Fill(ds,"showbbs");
sh.DataSource=ds.Tables["showbbs"].DefaultView;
sh.DataBind();
}
如果把这个datalist放在datagrid外面就能正常显示,如果放在datagrid列就是空白,无法显示出来,急求解决办法!!!!!
网友回答: