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();
}
}