在一项目中做一个留言板模块需用到嵌套。。留言与回复不在一张表里面,这样绑定起来很麻烦,自己找资料写了个。。话不多说 大家看代码:
aspx:
<%@ Register Assembly="RadTabStrip.Net2" Namespace="Telerik.WebControls" TagPrefix="rad" %>
<%@ Register Assembly="RadGrid.Net2" Namespace="Telerik.WebControls" TagPrefix="rad" %>
<%@ Register Assembly="RadInput.Net2" Namespace="Telerik.WebControls" TagPrefix="rad" %>
<%@ Register Assembly="RadWindow.Net2" Namespace="Telerik.WebControls" TagPrefix="rad" %>
<%@ Register Src="~/UserControls/leftMenu.ascx" TagName="Menu" TagPrefix="leftmenu" %>
<%@ Register Assembly="RadEditor.Net2" Namespace="Telerik.WebControls" TagPrefix="rad" %>
<%@ Register Assembly="RadComboBox.Net2" Namespace="Telerik.WebControls" TagPrefix="rad" %>
<%@ Register Assembly="RadAjax.Net2" Namespace="Telerik.WebControls" TagPrefix="rad"%>
<table style="margin:0 auto 0 auto; width:700px;font-size:12px;">
<tr>
<td style=" border:solid 1px #6788be;" mce_style=" border:solid 1px #6788be;">
<rad:RadGrid ID="radgridShow" runat="server" ShowHeader="false"
AutoGenerateColumns="false" onneeddatasource="radgridShow_NeedDataSource" OnItemCommand="radgridshow_ItemCommand" OnItemCreated="radgridshow_ItemCreated" Skin="Default"
AllowPaging="True" EnableAJAX="True" GridLines="None" PageSize="5">
<PagerStyle Mode="NextPrevAndNumeric" PrevPageText="前一页" NextPageText="下一页" ShowPagerText="true" PagerTextFormat="" VerticalAlign="Middle" HorizontalAlign="Center" BackColor="LightGray" />
<StatusBarSettings LoadingText="正在更新数据" ReadyText="完成"/>
<MasterTableView DataKeyNames="BoradID">
<RowIndicatorColumn Visible="False">
<HeaderStyle></HeaderStyle>
</RowIndicatorColumn>
<Columns>
<rad:GridTemplateColumn>
<ItemStyle CssClass="itemstyle" />
<ItemTemplate>
<table>
<tr>
<!-- ***********************************************************父页面绑定开始************************************************************-->
<td style="width:130px; text-align:center; border-right-width:1px; border-right-color:#D2D2D2; border-right-style:solid;">
<table style="text-align:center;padding-top:20px" mce_style="text-align:center;padding-top:20px">
<tr align="center">
<td>
<img src='../Images/LY_MessageBoard/<%# Eval("imageurl")%>' />
</td>
</tr>
<tr align="center" style="color:#0000FF" mce_style="color:#0000FF">
<td style=" border-bottom:solid 1px #D2D2D2; border-top:solid 1px #D2D2D2;" mce_style=" border-bottom:solid 1px #D2D2D2; border-top:solid 1px #D2D2D2;">
<asp:Label ID="MB_Sex" runat="server" Text='<%# Eval("sex") %>'/>:<asp:Label ID="MB_Name" runat="server" Text='<%# Eval("username") %>' />
</td>
</tr>
</table>
</td>
<td>
<table width="550px">
<tr>
<td style="border-bottom:solid 1px #D2D2D2;padding-bottom:5px" mce_style="border-bottom:solid 1px #D2D2D2;padding-bottom:5px" align="right">
<img src="../Images/LY_MessageBoard/posttime.gif" mce_src="Images/LY_MessageBoard/posttime.gif" />:<%# Eval("time") %>
</td>
</tr>
<tr>
<td style="border-bottom:solid 1px #D2D2D2;padding-bottom:5px;" mce_style="border-bottom:solid 1px #D2D2D2;padding-bottom:5px;">
<div style="overflow:hidden;word-break:break-all;min-height:50px" mce_style="overflow:hidden;word-break:break-all;min-height:50px">主题: <%# Eval("title") %></div>
</td>
</tr>
<tr>
<td style="text-indent:2em;border-bottom:solid 1px #D2D2D2;padding-bottom:5px" mce_style="text-indent:2em;border-bottom:solid 1px #D2D2D2;padding-bottom:5px">
<span style="overflow:hidden;word-break:break-all" mce_style="overflow:hidden;word-break:break-all"><%# Eval("content") %></span>
</td>
</tr>
<tr >
<td>
<asp:LinkButton ID="lbtn_link" runat="server" CommandArgument="link" Text="回 复" ForeColor="Red" ></asp:LinkButton> <br />
<div id="return" style="width:530px;border:solid 1px #f60;margin:5px 10 px 5px 10px;">
<!--****************************************************子页面绑定开始*******************************************************************-->
<asp:Repeater ID="replace" runat="server" DataSource='<%# ((DataRowView)Container.DataItem).Row.GetChildRows("replace") %>'>
<ItemTemplate>
<div style="border:solid 1px #d2d2d2;padding-bottom:5px;margin:5px 10px 5px 10px;" mce_style="border:solid 1px #d2d2d2;padding-bottom:5px;margin:5px 10px 5px 10px;">
<div style="border-bottom:solid 1px #d2d2d2; font-size:11px;padding-top:2px;padding-bottom:3px" mce_style="border-bottom:solid 1px #d2d2d2; font-size:11px;padding-top:2px;padding-bottom:3px">
<table border=0 cellpadding=0 cellspacing=0 width="100%">
<tr>
<td align="left" style="padding-left:10px;" mce_style="padding-left:10px;">来自于<span style="color:Red;" mce_style="color:Red;"><%# ((DataRow)Container.DataItem)["rusername"]%></span>的回复</td>
<td align="right" style="padding-right:10px;" mce_style="padding-right:10px;"><span style="padding-right:20px;" mce_style="padding-right:20px;"><%#((DataRow)Container.DataItem)["replacetime"]%></span></td>
</tr>
</table>
</div>
<div style="padding-bottom:5px;overflow:hidden;word-break:break-all;padding-left:10px;" mce_style="padding-bottom:5px;overflow:hidden;word-break:break-all;padding-left:10px;">
<span><%# ((DataRow)Container.DataItem)["replacecontent"]%></span>
</div>
</div>
</ItemTemplate>
</asp:Repeater>
</div>
</td></tr>
</table>
</td>
</tr>
</table>
</ItemTemplate>
</rad:GridTemplateColumn>
</Columns>
<ExpandCollapseColumn Visible="False" Resizable="False">
<HeaderStyle Width="20px"></HeaderStyle>
</ExpandCollapseColumn>
</MasterTableView>
</rad:RadGrid>
</td>
</tr>
</table>
cs页面:
protected void radgridShow_NeedDataSource(object source, Telerik.WebControls.GridNeedDataSourceEventArgs e)
{
string connn = System.Configuration.ConfigurationManager.ConnectionStrings["LangYuan_OAConnectionString1"].ConnectionString;
using (SqlConnection con = new SqlConnection("server=.;database=langyuan_oa;uid=sa;"))
{
con.Open();
DataSet ds = new DataSet();
SqlDataAdapter ada = new SqlDataAdapter("select * from MessageBorad where isdelete='0' order by time desc", con);
SqlDataAdapter ada1 = new SqlDataAdapter("select * from B_Replace where isdelete='0' order by replacetime desc", con);
ada.Fill(ds, "parent");
ada1.Fill(ds, "child");
ds.Relations.Add("replace", ds.Tables["parent"].Columns["boradid"], ds.Tables["child"].Columns["boradid"]);
con.Close();
radgridShow.DataSource = ds.Tables["parent"];
}
}
主要代码就是这些,自己记住了以后在用面的忘记