How do I get value (that is checked) from GridClientSelectColumn, and how do I save the ones I selected after a postback?
When i submit i always get dataitem.Selected = false/nothing...
When i submit i always get dataitem.Selected = false/nothing...
Protected Sub rbFelAnmal_Click(sender As Object, e As EventArgs) Handles rbFelAnmal.Click For Each item As GridItem In RadGrid1.MasterTableView.Items Dim dataitem As GridDataItem = DirectCast(item, GridDataItem) If dataitem.Selected Then value = value & dataitem.GetDataKeyValue("DateOfBirth").ToString() & "<br>" Else End If Next lblCheck.Text = valueEnd Sub3 Answers, 1 is accepted
0
Shinu
Top achievements
Rank 2
answered on 05 Apr 2014, 08:56 AM
Hi Kjell,
I guess you want the checkbox selection to persist after postback. Please take a look at this article to know about Persisting the Selected Rows Client-side on Sorting/Paging/Filtering/Grouping.
Thanks,
Shinu
I guess you want the checkbox selection to persist after postback. Please take a look at this article to know about Persisting the Selected Rows Client-side on Sorting/Paging/Filtering/Grouping.
Thanks,
Shinu
0
Kjell
Top achievements
Rank 1
Iron
Iron
answered on 05 Apr 2014, 05:16 PM
Still the same problem at postback.
The only difference is that the checkbox selection is saved when sorting...
I want to have the GetDataKeyValue("DateOfBirth") from the column that i have checked.
The only difference is that the checkbox selection is saved when sorting...
I want to have the GetDataKeyValue("DateOfBirth") from the column that i have checked.
0
Shinu
Top achievements
Rank 2
answered on 07 Apr 2014, 03:52 AM
Hi Kjell,
Please try the sample code snippet. I was able to get the selected rows DataKeyValue on a button click.
ASPX:
C#:
Thanks,
Shinu
Please try the sample code snippet. I was able to get the selected rows DataKeyValue on a button click.
ASPX:
<telerik:RadGrid ID="RadGrid1" runat="server" DataSourceID="SqlDataSource1" AllowPaging="True" PageSize="15" AllowSorting="True" AllowMultiRowSelection="True" AllowFilteringByColumn="true" OnItemCommand="RadGrid1_ItemCommand" OnPreRender="RadGrid1_PreRender" OnItemCreated="RadGrid1_ItemCreated"> <MasterTableView DataKeyNames="CustomerID"> <Columns> <telerik:GridClientSelectColumn UniqueName="ClientSelectColumn" /> </Columns> </MasterTableView> <ClientSettings Selecting-AllowRowSelect="true" EnablePostBackOnRowClick="true"> </ClientSettings></telerik:RadGrid><asp:Button ID="Button1" runat="server" Text="Button" OnClick="Button1_Click" /><asp:SqlDataSource ID="SqlDataSource1" runat="server" ConnectionString="<%$ ConnectionStrings:ConnectionString %>" SelectCommand="SELECT [CustomerID], [ContactName], [ContactTitle], [Address] FROM [Customers]"></asp:SqlDataSource>C#:
ArrayList selectedItems;protected void Page_Load(object sender, EventArgs e){ if (!IsPostBack) { Session.Clear(); }}protected void RadGrid1_ItemCommand(object source, GridCommandEventArgs e){ if (Session["selectedItems"] == null) { selectedItems = new ArrayList(); } else { selectedItems = (ArrayList)Session["selectedItems"]; } if (e.CommandName == "RowClick") { GridDataItem dataItem = (GridDataItem)e.Item; string customerID = dataItem.OwnerTableView.DataKeyValues[dataItem.ItemIndex]["CustomerID"].ToString(); if (dataItem.Selected) { selectedItems.Add(customerID); Session["selectedItems"] = selectedItems; } else { selectedItems.Remove(customerID); Session["selectedItems"] = selectedItems; } }}protected void RadGrid1_PreRender(object sender, EventArgs e){ if (Session["selectedItems"] != null) { ArrayList selectedItems = (ArrayList)Session["selectedItems"]; Int16 stackIndex; for (stackIndex = 0; stackIndex <= selectedItems.Count - 1; stackIndex++) { string curItem = selectedItems[stackIndex].ToString(); foreach (GridItem item in RadGrid1.MasterTableView.Items) { if (item is GridDataItem) { GridDataItem dataItem = (GridDataItem)item; if (curItem.Equals(dataItem.OwnerTableView.DataKeyValues[dataItem.ItemIndex]["CustomerID"].ToString())) { dataItem.Selected = true; break; } } } } }}protected void RadGrid1_ItemCreated(object sender, GridItemEventArgs e){ if (e.Item is GridHeaderItem) { GridHeaderItem headerItem = (GridHeaderItem)e.Item; CheckBox chk = (CheckBox)headerItem["ClientSelectColumn"].Controls[0]; if (chk.Checked) { GridDataItem dataItem = (GridDataItem)e.Item; string customerID = dataItem.OwnerTableView.DataKeyValues[dataItem.ItemIndex]["CustomerID"].ToString(); if (dataItem.Selected) { selectedItems.Add(customerID); Session["selectedItems"] = selectedItems; } } }}protected void Button1_Click(object sender, EventArgs e){ if (Session["selectedItems"] != null) { ArrayList selectedItems = (ArrayList)Session["selectedItems"]; Int16 stackIndex; for (stackIndex = 0; stackIndex <= selectedItems.Count - 1; stackIndex++) { RadGrid1.AllowPaging = false; RadGrid1.Rebind(); string curItem = selectedItems[stackIndex].ToString(); foreach (GridItem item in RadGrid1.MasterTableView.Items) { if (item is GridDataItem) { GridDataItem dataItem = (GridDataItem)item; if (curItem.Equals(dataItem.OwnerTableView.DataKeyValues[dataItem.ItemIndex]["CustomerID"].ToString())) { dataItem.Selected = true; Response.Write(curItem);//Datakey value of the selcted items Response.Write("<br/>"); break; } } } } } RadGrid1.AllowPaging = true; RadGrid1.Rebind();}Thanks,
Shinu