Hi,
i am having grid in which i am doing delete ,
for first record delete its working fine but for second time it is not getting the id of hide column,
so where do i hide column
my code is
Thanks
i am having grid in which i am doing delete ,
for first record delete its working fine but for second time it is not getting the id of hide column,
so where do i hide column
my code is
protected void RadGrid1_PreRender(object sender, EventArgs e)
{
RadGrid1.MasterTableView.GetColumn("UserId").Visible = false;
RadGrid1.MasterTableView.GetColumn("EntityId").Visible = false;
}
protected void RadGrid1_DeleteCommand(object sender, GridCommandEventArgs e)
{
GridEditableItem DeleteEmployee = e.Item as GridEditableItem;
Hashtable NewValues = new Hashtable();
e.Item.OwnerTableView.ExtractValuesFromItem(NewValues, DeleteEmployee);
int EntityId = Convert.ToInt32(DeleteEmployee.GetDataKeyValue("EntityId"));
int UserId = Convert.ToInt32(NewValues["UserId"].ToString());
ObjGlobas.DeleteEmployeePermission(UserId,EntityId);
RadGrid1.Rebind();
RadWindowManager1.RadAlert("Employee Permission Deleted Successfully!", 325, 200, "Manifest-BI : DELETE", null);
}
5 Answers, 1 is accepted
0
Shinu
Top achievements
Rank 2
answered on 10 Dec 2013, 09:42 AM
Hi Swapnil,
If you want to hide the column and use it code behind, please set Display="false".
ASPX:
Another suggestion is set the column as DataKeyNames.
ASPX:
Access it in CodeBehind as follows:
C#:
Thanks,
Shinu
If you want to hide the column and use it code behind, please set Display="false".
ASPX:
<
telerik:GridBoundColumn
HeaderText
=
"UserID"
DataField
=
"UserID"
Display
=
"false"
UniqueName
=
"UserID"
/>
Another suggestion is set the column as DataKeyNames.
ASPX:
<
MasterTableView
DataKeyNames
=
"UserId, EntityId"
>
Access it in CodeBehind as follows:
C#:
string
OrderID = edit.GetDataKeyValue(
"UserId"
).ToString();
string
OrderID = edit.GetDataKeyValue(
"EntityId"
).ToString();
Thanks,
Shinu
0
Swapnil
Top achievements
Rank 1
answered on 11 Dec 2013, 06:30 AM
by writing bound column i am not able to hide column
thanks
thanks
0
Accepted
Shinu
Top achievements
Rank 2
answered on 11 Dec 2013, 06:58 AM
Hi Swapnil,
If you hide a BoundColumn using it's Display, we can access it in the code behind as follows:
ASPX:
C#:
Another way is to use DataKeyNames as i suggested before, hence you don't have to add it as a BoundColumn:
ASPX:
C#:
Please note that we access the items to be deleted using GridDataItem and not GridEditableItem.
Thanks,
Shinu
If you hide a BoundColumn using it's Display, we can access it in the code behind as follows:
ASPX:
<
telerik:GridBoundColumn
UniqueName
=
"UserId"
DataField
=
"UserId"
HeaderText
=
"UserId"
Display
=
"false"
>
<
telerik:GridBoundColumn
UniqueName
=
"EntityId"
DataField
=
"EntityId"
HeaderText
=
"EntityId"
Display
=
"false"
>
C#:
protected
void
RadGrid1_DeleteCommand(
object
sender, GridCommandEventArgs e)
{
GridDataItem item = (GridDataItem)e.Item;
//Access the hidden columns
string
userid= item[
"UserId"
].Text.ToString();
string
entityid= item[
"EntityId"
].Text.ToString();
// Your code to Delete
}
Another way is to use DataKeyNames as i suggested before, hence you don't have to add it as a BoundColumn:
ASPX:
<
MasterTableView
DataKeyNames
=
"UserId, EntityId"
>
C#:
protected
void
RadGrid1_DeleteCommand(
object
sender, GridCommandEventArgs e)
{
GridDataItem item = (GridDataItem)e.Item;
string
userid= item.GetDataKeyValue(
"UserId"
).ToString();
string
entityid= item.GetDataKeyValue(
"EntityId"
).ToString();
// Your code to Delete
}
Please note that we access the items to be deleted using GridDataItem and not GridEditableItem.
Thanks,
Shinu
0
Swapnil
Top achievements
Rank 1
answered on 11 Dec 2013, 07:21 AM
still not working
my code is
my code is
<
telerik:RadGrid
ID
=
"RadGrid1"
runat
=
"server"
AllowPaging
=
"True"
Skin
=
"Outlook"
HeaderStyle-Font-Bold
=
"true"
AllowSorting
=
"True"
CellSpacing
=
"0"
GridLines
=
"None"
ShowGroupPanel
=
"True"
HeaderStyle-Font-Size
=
"13px"
HeaderStyle-Font-Names
=
"Verdana"
ItemStyle-Font-Names
=
"Verdana"
AlternatingItemStyle-Font-Names
=
"Verdana"
OnNeedDataSource
=
"RadGrid1_NeedDataSource"
OnPreRender
=
"RadGrid1_PreRender"
OnDeleteCommand
=
"RadGrid1_DeleteCommand"
>
<
PagerStyle
Mode
=
"NextPrevNumericAndAdvanced"
AlwaysVisible
=
"true"
></
PagerStyle
>
<
ClientSettings
AllowDragToGroup
=
"True"
EnablePostBackOnRowClick
=
"true"
>
</
ClientSettings
>
<
MasterTableView
>
<
Columns
>
<
telerik:GridBoundColumn
HeaderText
=
"UserId"
DataField
=
"UserId"
Display
=
"false"
UniqueName
=
"UserId"
Visible
=
"false"
/>
<
telerik:GridBoundColumn
HeaderText
=
"EntityId"
DataField
=
"EntityId"
Display
=
"false"
UniqueName
=
"EntityId"
Visible
=
"false"
/>
<
telerik:GridButtonColumn
CommandName
=
"Delete"
ButtonType
=
"ImageButton"
UniqueName
=
"DeleteColumn"
ConfirmText
=
"Are you sure to Delete this Entity?"
ConfirmDialogType
=
"RadWindow"
ConfirmTitle="<b>Manifest-BI</
b
>">
</
telerik:GridButtonColumn
>
</
Columns
>
<
PagerStyle
AlwaysVisible
=
"True"
></
PagerStyle
>
</
MasterTableView
>
</
telerik:RadGrid
>
protected void RadGrid1_NeedDataSource(object sender, GridNeedDataSourceEventArgs e)
{
DeletePermissionGrid = ObjGlobas.DeleteEntityPermission_BindGrid(RoleId,UserId);
RadGrid1.DataSource = DeletePermissionGrid.Tables[0];
}
protected void RadGrid1_PreRender(object sender, EventArgs e)
{
//RadGrid1.MasterTableView.GetColumn("UserId").Visible = false;
//RadGrid1.MasterTableView.GetColumn("EntityId").Visible = false;
}
protected void RadGrid1_DeleteCommand(object sender, GridCommandEventArgs e)
{
//GridEditableItem DeleteEmployee = e.Item as GridEditableItem;
//Hashtable NewValues = new Hashtable();
//e.Item.OwnerTableView.ExtractValuesFromItem(NewValues, DeleteEmployee);
//int EntityId = Convert.ToInt32(DeleteEmployee.GetDataKeyValue("EntityId"));
//int UserId = Convert.ToInt32(NewValues["UserId"].ToString());
//ObjGlobas.DeleteEmployeePermission(UserId,EntityId);
//RadGrid1.Rebind();
//RadWindowManager1.RadAlert("Employee Permission Deleted Successfully!", 325, 200, "Manifest-BI : DELETE", null);
GridDataItem item = (GridDataItem)e.Item;
//Access the hidden columns
string userid = item["UserId"].Text.ToString();
string entityid = item["EntityId"].Text.ToString();
// Your code to Delete
}
0
Shinu
Top achievements
Rank 2
answered on 12 Dec 2013, 03:35 AM
Hi Swapnil,
Please remove Visible="false" from your BoundColumns, only set Display="false".
ASPX:
Thanks,
Shinu
Please remove Visible="false" from your BoundColumns, only set Display="false".
ASPX:
<
telerik:GridBoundColumn
HeaderText
=
"UserId"
DataField
=
"UserId"
Display
=
"false"
UniqueName
=
"UserId"
/>
<
telerik:GridBoundColumn
HeaderText
=
"EntityId"
DataField
=
"EntityId"
Display
=
"false"
UniqueName
=
"EntityId"
/>
Thanks,
Shinu