Note that there are some explanatory texts on larger screens.

plurals
  1. POCustom Paging in Child(Inner) Nested Repeaters
    text
    copied!<p>Iam using nested repeaters with Dataset (not using Datatable) to retrieve information by passing parameters. <br/><br/> So far I have bind the two repeaters clearly and everything is working fine.<br/> <br/> Here the list of messages created by each user datawise(parameter passed) will be displayed, and there could be more than 50 messages created by each user daily, <br/>So now I want to do custom paging for each user.<br/></p> <p>But Iam unable to proceed further, as the next, previous, back, first links are placed inside the child repeaters footer template and i coudn't access these links even by findcontrol method.<br/> <br/> PLz anybody help me.<br/> Its too urgent.<br/> Iam banging my head for the last 3 days.<br/></p> <p></p> <p><b> User1 </b><br/> <b>No Msg Code </b><br/> 1 abcd Cl-6<br/> 2 some Cl-4<br/> 3 swedf Cl-3<br/> 4 sddf Cl-1<br/> <br/> 1,2,3,4,5 (Paging)<br/></p> <p><b> User2 </b><br/> <b>No Msg Code </b><br/> 1 dgfv Cl-96<br/> 2 abcd Cl-4<br/> 3 sjuc Cl-31<br/> 4 liot Cl-1<br/> <br/> 1,2,3,4,5 (Paging)<br/> -------------<br/> -----------<br/> ----------<br/></p> <p>in this ways goes for every user<br/></p> <p>Public Sub CreateNestedRepeater()</p> <pre><code> Dim strSql_1 As String, strsql_2 As String Dim strCon_1 As New SqlConnection Dim strCon_2 As New SqlConnection Dim ds As New DataSet() frmDate = AMS.convertmmddyy(txtFromDate.Text) toDate = AMS.convertmmddyy(txtToDate.Text) strCon_1 = New SqlConnection(ConfigurationManager.ConnectionStrings("connectionString").ConnectionString) strSql_1 = "select User_Login, User_Id from V_mst_UserMaster Where User_Flag = 1 and User_Type='CO'" Dim daCust As New SqlDataAdapter(strSql_1, strCon_1) daCust.Fill(ds, "RptCoord_Name") WhereClause1 = "where MsgHdr_Id NOT IN (Select a.MsgHdr_Id from V_AMS_GetSentMsg as a Join V_AMS_GetSentMsg as b " _ &amp; "on a.MsgHdr_Id = b.MsgHdr_PrevMsgId) and MsgHdr_Date &gt;= '" &amp; frmDate &amp; "' and MsgHdr_Date &lt;= '" &amp; toDate &amp; _ "'AND MsgHdr_MsgFlag='I' and MsgHdr_AckReq &lt;&gt; 'N'" OrderBy = "order by MsgHdr_Date asc" strCon_2 = New SqlConnection(ConfigurationManager.ConnectionStrings("conn_Ind_AKK_TRAN").ConnectionString) strsql_2 = "select User_Login,MsgHdr_Date, Client_Code, MsgHdr_RefNo, MsgType_Name, MsgHdr_Subject " _ &amp; " from V_AMS_GetSentMsg " &amp; WhereClause1 &amp; OrderBy Dim daOrders As New SqlDataAdapter(strsql_2, strCon_2) daOrders.Fill(ds, "RptCd_Record") Dim rel As New DataRelation("CrdRelation", ds.Tables("RptCoord_Name").Columns("User_Login"), ds.Tables("RptCd_Record").Columns("User_Login"), False) ds.Relations.Add(rel) rel.Nested = True Rep1.DataSource = ds.Tables("RptCoord_Name").DefaultView Rep1.DataBind() strCon_1.Close() strCon_2.Close() End Sub Protected Sub Rep1_ItemCommand(ByVal source As Object, ByVal e As System.Web.UI.WebControls.RepeaterCommandEventArgs) Handles Rep1.ItemCommand If e.Item.ItemType = ListItemType.Item OrElse e.Item.ItemType = ListItemType.AlternatingItem Then DirectCast(e.Item.FindControl("Rep2"), Repeater).DataSource = DirectCast(e.Item.DataItem, DataRowView).CreateChildView("CrdRelation") DirectCast(e.Item.FindControl("Rep2"), Repeater).DataBind() End If End Sub Protected Sub Pagging(ByVal index As Integer) Dim PDS As New PagedDataSource PDS.DataSource = ds.Tables("RptCoord_Name").DefaultView PDS.CurrentPageIndex = index PDS.AllowPaging = True PDS.PageSize = 4 Dim rep2 As Repeater = CType(e rep2.DataSource = PDS Rep2.DataBind() Dim ddl As DropDownList = DirectCast(rep2.Controls(rep2.Controls.Count - 1).FindControl("PageCount"), DropDownList) If ddl IsNot Nothing Then For i As Integer = 1 To PDS.PageCount - 1 ddl.Items.Add(i.ToString()) Next End If End Sub Public Sub PageIndex(ByVal sender As Object, ByVal e As EventArgs) Dim ddl As DropDownList = DirectCast(rep2.Controls(rep2.Controls.Count - 1).FindControl("PageCount"), DropDownList) Pagging(Integer.Parse(ddl.SelectedItem.Text) - 1) End Sub </code></pre> <p><br/></p> <p></p> <pre><code>&lt;ItemTemplate&gt; &lt;table width="100%" border="0.8" cellpadding="0" cellspacing="0" CssClass="bodytext" &gt; &lt;tr&gt;&lt;td align="center" class="RepHeader" &gt; Incoming Messages - Pending Ack for &lt;%#getUser(DataBinder.Eval(Container.DataItem, "User_Login"))%&gt; from &lt;%= txtFromDate.Text %&gt; to &lt;%=txtToDate.Text%&gt; </code></pre> <pre><code>&lt;asp:Repeater id="Rep2" runat="server" datasource='&lt;%#(Container.DataItem).Row.GetChildRows("CrdRelation") %&gt;' &gt; &lt;HeaderTemplate&gt; &lt;table border="1" width="100%" &gt; &lt;tr class="RepHeader" &gt; &lt;td&gt;Msg Date&lt;/td&gt;&lt;td&gt;CL Code&lt;/td&gt;&lt;td&gt;INCRefNo&lt;/td&gt;&lt;td&gt;Contents&lt;/td&gt;&lt;td&gt;Subject&lt;/td&gt;&lt;/tr&gt;&lt;/HeaderTemplate&gt;&lt;ItemTemplate&gt; &lt;tr class="RrpList"&gt; &lt;td&gt;&lt;%#getdate(CType(Container.DataItem, System.Data.DataRow)("MsgHdr_Date"))%&gt; &lt;/td&gt; &lt;td&gt;&lt;%#CType(Container.DataItem, System.Data.DataRow)("Client_Code")%&gt; &lt;/td&gt; &lt;td&gt;&lt;asp:LinkButton ID="lnkRef" runat="server"&gt;&lt;/asp:LinkButton&gt; &lt;a id="hrefRefNo" runat="server" href="#" class="Link" &gt; &lt;%#CType(Container.DataItem, System.Data.DataRow)("MsgHdr_RefNo")%&gt;&lt;/a&gt;&lt;/td&gt; &lt;td&gt;&lt;%#CType(Container.DataItem, System.Data.DataRow)("MsgType_Name")%&gt; &lt;/td&gt; &lt;td&gt;&lt;%#CType(Container.DataItem, System.Data.DataRow)("MsgHdr_Subject")%&gt; &lt;/td&gt; &lt;/tr&gt; &lt;/ItemTemplate&gt; &lt;FooterTemplate&gt; &lt;%--Starts Here - (Paging for Pending Nested Repeaters) --%&gt; &lt;tr align="center" class = "RepHeader"&gt; &lt;td colspan="5"&gt; &lt;asp:LinkButton ID="lnkFirst" runat="server" ForeColor="Black" Text="First" &gt; &lt;/asp:LinkButton&gt;&amp;nbsp; &lt;asp:LinkButton ID="lnkPrevious" runat="server" ForeColor="Black" Text="Previous" &gt; &lt;/asp:LinkButton&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;Now Showing Page&amp;nbsp; &lt;asp:DropDownList ID="ddlpageNumbers" runat="server" AutoPostBack="true" &gt; &lt;/asp:DropDownList&gt;&amp;nbsp;of&amp;nbsp; &lt;asp:Label ID="lblTotalPages" runat="server"&gt; &lt;/asp:Label&gt; &amp;nbsp;Pages.&amp;nbsp; &lt;asp:LinkButton ID="lnkNext" runat="server" ForeColor="Black" Text="Next" &gt; &lt;/asp:LinkButton&gt;&amp;nbsp; &lt;asp:LinkButton ID="lnkLast" runat="server" ForeColor="Black" Text="Last" &gt; &lt;/asp:LinkButton&gt; &lt;/td&gt; &lt;/tr&gt; &lt;%--Ends Here (Paging for Pending Nested Repeaters)--%&gt; &lt;/td&gt;&lt;/tr&gt; </code></pre> <p><br /> </p> <pre><code>&lt;/ItemTemplate&gt; &lt;SeparatorTemplate&gt;&lt;br /&gt;&lt;br /&gt;&lt;/SeparatorTemplate&gt; &lt;/asp:Repeater&gt; </code></pre> <p>I cudn't understand how to do paging</p> <p>Please Help Me Thank You Brightsy</p>
 

Querying!

 
Guidance

SQuiL has stopped working due to an internal error.

If you are curious you may find further information in the browser console, which is accessible through the devtools (F12).

Reload