I am using Advanced databinding method. When yapAfter button is
clicked I add an item to my List stored in the session according to
the specific index and I rebind my List. Also in NeedData Source
event my List stored in the session is binded. There is no problem
when Allowpaging is off in Listview. However when I turn on
Allowpaging the items I added last to my List comes out at the
beginning of the List. They are not listed according to the Index I
assigned while adding.
Thanks,
Regards.
Thanks,
Regards.
<telerik:RadListView ID="RadListView1" runat="server" ItemPlaceholderID="ProductsHolder" OnNeedDataSource="RadListView1_NeedDataSource" OnItemDataBound="RadListView1_ItemDataBound" OnItemCommand="RadListView1_ItemCommand" DataKeyNames="RID"> <LayoutTemplate> <asp:Panel ID="ProductsHolder" runat="server" /> <telerik:RadDataPager ID="RadDataPager1" runat="server" PagedControlID="RadListView1" PageSize="50" AllowSEOPaging="False" AllowRouting="False"> <Fields> <telerik:RadDataPagerButtonField FieldType="FirstPrev" /> <telerik:RadDataPagerButtonField FieldType="Numeric" /> <telerik:RadDataPagerButtonField FieldType="NextLast" /> <telerik:RadDataPagerPageSizeField PageSizeText="Page size: " /> <telerik:RadDataPagerGoToPageField CurrentPageText="Page: " TotalPageText="of" SubmitButtonText="Go" TextBoxWidth="15" /> <telerik:RadDataPagerTemplatePageField> <PagerTemplate> <div style="float: right"> <b>Items <asp:Label runat="server" ID="CurrentPageLabel" Text="<%# Container.Owner.StartRowIndex+1%>" /> to <asp:Label runat="server" ID="TotalPagesLabel" Text="<%# Container.Owner.TotalRowCount > (Container.Owner.StartRowIndex+Container.Owner.PageSize) ? Container.Owner.StartRowIndex+Container.Owner.PageSize : Container.Owner.TotalRowCount %>" /> of <asp:Label runat="server" ID="TotalItemsLabel" Text="<%# Container.Owner.TotalRowCount%>" /> <br /> </b> </div> </PagerTemplate> </telerik:RadDataPagerTemplatePageField> </Fields> </telerik:RadDataPager> </LayoutTemplate> <ItemTemplate> <div id="segment<%#Eval("RID") %>" class="segment"> <table> <tr> <td style="width: 50px"> <telerik:RadButton ID="RadButton1" runat="server" Text="X" CommandName="deleteSegment"> </telerik:RadButton> <input name="Button11" type="button" onclick="javascript:deleteSegment('#segment<%#Eval("RID") %>');" value="X" /> </td> <td style="width: 100%"> <textarea id="sourceTextarea" name="sourceTextarea" style="width: 98%"><%#Eval("Segment") %></textarea> </td> </tr> <tr> <td> </td> <td> <telerik:RadButton ID="RadButton2" runat="server" Text="+" CommandName="yapAfter"> </telerik:RadButton> <input name="Button11" type="button" onclick="javascript:yapAfter_source('#segment<%#Eval("RID") %>');" value="+" /> <input name="Button11" type="button" onclick="javascript:splitSegment('#segment<%#Eval("RID") %>');" value="-/-" /> <input name="Button11" type="button" onclick="javascript:segmentMerge('#segment<%#Eval("RID") %>');" value=">|<" /> </td> </tr> </table> </div> </ItemTemplate> </telerik:RadListView>protected void RadListView1_NeedDataSource(object sender, Telerik.Web.UI.RadListViewNeedDataSourceEventArgs e) { if (!IsPostBack) { if (String.IsNullOrEmpty(HiddenField1.Value)) return; decimal m_ProjectRef = Convert.ToDecimal(HiddenField1.Value); List<prepdata> mList = new List<prepdata>(); mList = PreprocessHelperDB.getDataSource(m_ProjectRef); Session["myList"] = mList; RadListView1.DataSource = mList; } else { List<prepdata> mList = (List<prepdata>)Session["myList"]; RadListView1.DataSource = mList; } } protected void RadListView1_ItemCommand(object sender, RadListViewCommandEventArgs e) { if (String.Equals(e.CommandName, "yapAfter")) { decimal m_ProjectRef = Convert.ToDecimal(HiddenField1.Value); RadListViewDataItem dataItem = (RadListViewDataItem)e.ListViewItem; List<prepdata> mList = new List<prepdata>(); mList = (List<prepdata>)Session["myList"]; mList.Insert(0, new prepdata { Segment = "asdsadaAA index:" + 0}); mList.Insert(1, new prepdata { Segment = "asdsadaAA:" + 1 }); mList.Insert(5, new prepdata { Segment = "asdsadaAA:" + 5 }); Session.Remove("myList"); Session["myList"] = mList; RadListView1.Rebind(); } }