DataList 嵌套Datagrid ,散分

NSympathizeFO NSympathizeFO 墨衍会员 · AI 创作全网分发 墨衍智能分发 通过墨衍一键同步至各平台 可同步平台 CSDN微信公众号微博知乎掘金百家号博客园抖音小红书 你的文章也可以这样分发 墨衍会员 ¥399起/年,写一次发全网 我也要 + 加入社区
我今天用datalist 嵌套datagrid 写一段程序.
前台代码是这样的:
<asp:Panel ID="pnlModuleContent" Runat="server">
<table width="100%" border="0">
<tr>
<td style="width: 215px">
<asp:Label id="Label5" Runat="server" resourcekey="RecordsPage" CssClass="SubHead">Records Per Page:</asp:Label>
<asp:DropDownList id="ddlRecordsPerPage" Runat="server" AutoPostBack="True">
<asp:ListItem Value="10">10</asp:ListItem>
<asp:ListItem Value="25">25</asp:ListItem>
<asp:ListItem Value="50">50</asp:ListItem>
<asp:ListItem Value="100">100</asp:ListItem>
<asp:ListItem Value="250">250</asp:ListItem>
</asp:DropDownList></td>
<!--<td><dnnsc:PagingControl id="ctlPagingControl" runat="server"></dnnsc:PagingControl></TD> -->
</tr>
<tr>
<td style="width: 215px">
<asp:datalist id="dlComments" runat="server" HorizontalAlign="Center" RepeatColumns="1" OnItemDataBound ="dlComments_ItemDataBound1">
<ItemTemplate>
<table border="0">
<tr>
<td colspan="2">
<asp:label id="lblFeedbackID" runat="server" Text='<%# DataBinder.Eval(Container.DataItem, "FeedbackID") %>' Visible="False">
</asp:label><br></td>
<td>
<asp:label id="lblAuthor" runat="server" Text='<%# DataBinder.Eval(Container.DataItem, "CreatedByEmail") %>' CssClass="head">
</asp:label>  
</td>
<td>
<asp:label id="lblMessage" runat="server" Text='<%# DataBinder.Eval(Container.DataItem, "Message") %>' CssClass="Normal">
</asp:label>
</td>
<td>
<asp:label id="lblDate" runat="server" Text='<%# DataBinder.Eval(Container.DataItem, "DateCreated") %>' CssClass="subhead">
</asp:label>
</td>
</tr>
<tr>
<table>
<tr>
<td>
<asp:datagrid ID="dgComments" runat="server" AutoGenerateColumns ="False" AllowSorting="true" HorizontalAlign="center">
<Columns>
<asp:TemplateColumn HeaderStyle-HorizontalAlign="Left" HeaderText="Email" SortExpression="CreatedByEmail">
<ItemTemplate>
<%#DataBinder.Eval(Container, "DataItem.CreatedByEmail")%>
</ItemTemplate>
</asp:TemplateColumn>
<asp:TemplateColumn HeaderStyle-HorizontalAlign="Left" HeaderText="Message">
<ItemTemplate>
<%#DataBinder.Eval(Container, "DataItem.Message")%>
</ItemTemplate>
</asp:TemplateColumn>
<asp:TemplateColumn HeaderStyle-HorizontalAlign="Left" HeaderText="Date" SortExpression="DateModified">
<ItemTemplate>
<%#DataBinder.Eval(Container, "DataItem.DateCreated")%>
</ItemTemplate>
</asp:TemplateColumn>
</Columns>
</asp:datagrid>
</td>
</tr>
</table>
</tr>
</table>
<!--<hr width="100%" size="1">-->
</ItemTemplate>
</asp:datalist>
</td>
</tr>
</table>
</asp:Panel>


后台的dlComments_ItemDataBound1 方法 是这样的:(用VB.Net)

Protected Sub dlComments_ItemDataBound1(ByVal sender As Object, ByVal e As System.Web.UI.WebControls.DataListItemEventArgs) Handles dlComments.ItemDataBound
IndexItem = CInt(e.Item.ItemIndex.ToString)

Dim strID As String = dlComments.DataKeys(IndexItem).ToString
Dim rct As New ReplyController
Dim dgArr As ArrayList = rct.GetRepliesByFeedbackID(CInt(strID))
Dim dgStr As DataGrid = CType(e.Item.FindControl("dgComments"), System.Web.UI.WebControls.DataGrid)
dgStr.DataSource = dgArr
dgStr.DataBind()

End Sub
那个datalist绑定的代码没有贴出来,可是在这个Itemdatabound 事件中总是出现错误:
An exception of type 'System.ArgumentOutOfRangeException' occurred in mscorlib.dll but was not handled in user code

Additional information: Index was out of range. Must be non-negative and less than the size of the collection.

可是我觉得我这段程序没有什么错误啊? 请大家指教.谢谢.
...全文

相关推荐

DataGrid中嵌套DataGrid

DataGrid中嵌套DataGrid,修改后也适用DataGrid中嵌套DataList,DataList中嵌套DataList

popule_daisy

决定何时使用 DataGrid、DataList 或 Repeater(ASP.NET 技术文章)

摘要:了解 ASP.NET 用于显示数据的三个控件: DataGrid、DataList 和 Repeater。 这些控件中的每一个都有独特的特性以及相关的优点和缺点。 创建显示数据的 ASP.NET 应用程序时,为这项工作选择正确的控件非常重要。 正如将在本文中所看到的一样,选择使用 DataGrid、DataList 还是 Repeater,要权衡下面三个因素: 可用性、开发时间和性能。 (12 页打印页) 简介 自从出现了像 Microsoft Active Server Pages (ASP) 这样的简单且基于脚本的 Web 编程技术以来,Web 开发又有了很大的发展。 传统 ASP 

weixin_38721405

C#实现DataList里面嵌套DataList的折叠菜单

本文实例讲述了C#实现DataList里面嵌套DataList的折叠菜单。分享给大家供大家参考,具体如下: 点击前效果图如下: 点击后效果图如下: 具体实现代码如下: Javascript脚本 [removed] function showmenu(id) { smallimg = eval&#40;"smallimg"+id&#41;; img =eval&#40;"img"+id&#41;; if(smallimg.style.display =="none") { eval&#40;"smallimg"+id+".style.display=\"\";"&#41;;//全部显示 img

weixin_38655990

DataGrid中嵌套使用Repeater.doc

DataGrid中嵌套使用Repeater DataGrid中嵌套使用Repeater DataGrid中嵌套使用Repeater

lt33854506

ASP.NET中DataGrid和DataList控件用法比较

DataGrid/DataList在ASP.NET中的重要性,想必就不用我再强调了,凡显示Table类型的数据,大多会使用这两个控件(当然,如果谁还像ASP那样写ASP.NET,那我也没有办法),所以,每个人可能都有自己的领悟,这篇文章,算是抛砖引玉,为大家做个铺垫。

sffgw
评论 11
收藏 已收藏
分享
返回顶部
NSympathizeFO
.NET社区 62,272 成员 668,968 内容