Hello
I am using a gridview which is having GridClientSelectColumn.
here checkbox value is not persistent in postback
in radgrid i am using EnablePostBackOnRowClick="true" .
reason why i am using EnablePostBackOnRowClick="true" is
1.when ever user select the checkbox i need to show the data in asp control DetailsView
if i am not setting EnablePostBackOnRowClick="true" i am unable to show the data in DetailsView
Here user can select multipul checkboxes
Fallowing code snippet i am using
I am using a gridview which is having GridClientSelectColumn.
here checkbox value is not persistent in postback
in radgrid i am using EnablePostBackOnRowClick="true" .
reason why i am using EnablePostBackOnRowClick="true" is
1.when ever user select the checkbox i need to show the data in asp control DetailsView
if i am not setting EnablePostBackOnRowClick="true" i am unable to show the data in DetailsView
Here user can select multipul checkboxes
Fallowing code snippet i am using
<
telerik:RadGrid
runat
=
"server"
ID
=
"radgvInbox"
AutoGenerateColumns
=
"False"
DataSourceID
=
"LinqDataSource1"
AllowMultiRowSelection
=
"true"
OnItemCommand
=
"radgrid1_ItemCommand"
OnPreRender
=
"radgrid1_PreRender"
>
<
ClientSettings
Selecting-AllowRowSelect
=
"true"
EnablePostBackOnRowClick
=
"true"
AllowDragToGroup
=
"true"
EnableRowHoverStyle
=
"true"
ClientEvents-OnRowSelected
=
"onGridRowSelected"
>
<
Selecting
AllowRowSelect
=
"true"
UseClientSelectColumnOnly
=
"true"
/>
</
ClientSettings
>
protected void radgrid1_ItemCommand(object source, GridCommandEventArgs e)
{
ArrayList selectedItems;
if (Session["selectedItems"] == null)
{
selectedItems = new ArrayList();
}
else
{
selectedItems = (ArrayList)Session["selectedItems"];
}
if (e.CommandName == RadGrid.SelectCommandName &&
e.Item is GridDataItem)
{
GridDataItem dataItem = (GridDataItem)e.Item;
string MessageID = dataItem.OwnerTableView.DataKeyValues[dataItem.ItemIndex]["MessageID"].ToString();
selectedItems.Add(MessageID);
Session["selectedItems"] = selectedItems;
}
if (e.CommandName == RadGrid.DeselectCommandName && e.Item is GridDataItem)
{
GridDataItem dataItem = (GridDataItem)e.Item;
string MessageID = dataItem.OwnerTableView.DataKeyValues[dataItem.ItemIndex]["MessageID"].ToString();
selectedItems.Remove(MessageID);
Session["selectedItems"] = selectedItems;
}
}
protected void radgrid_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 radgvInbox.MasterTableView.Items)
{
if (item is GridDataItem)
{
GridDataItem dataItem = (GridDataItem)item;
if (curItem.Equals(dataItem.OwnerTableView.DataKeyValues[dataItem.ItemIndex]["MessageID"].ToString()))
{
dataItem.Selected = true;
break;
}
}
}
}
}
}
}