Hello I have a grid as below with the 2 columns that are second to last having checkboxes that are supposed to be clickable when the person who's record is displayed is accessing the page...
however when that person does not have the canDelete permission (from on PreRender below) clicking these check boxes throws a client side error..
'Sys.WebForms.PageRequestManagerServerErrorException: Sys.WebForms.PageRequestManagerServerErrorException: Can't select a disabled or unselectable menu item.' when calling method: [nsIDOMEventListener::handleEvent]
edit: just as a note even without that prerender code i still get the same error..
also one more thing the rad grid is in an UpdatePanel
i guess its important to note that when all the checkboxes are editable it works fine... when only some are enabled it breaks
Any ideas?
<
telerik:RadGrid
ID
=
"rgList"
runat
=
"server"
AutoGenerateColumns
=
"false"
AllowPaging
=
"True"
PageSize
=
"10"
AllowSorting
=
"True"
ShowFooter
=
"True"
CellSpacing
=
"0"
OnNeedDataSource
=
"rgList_NeedDataSource"
OnItemDataBound
=
"rgList_ItemDataBound"
OnPreRender
=
"rgList_onPreRender"
Width
=
"985"
>
<
ClientSettings
>
<
Resizing
AllowColumnResize
=
"True"
AllowResizeToFit
=
"True"
ClipCellContentOnResize
=
"false"
/>
</
ClientSettings
>
<
MasterTableView
EditMode
=
"PopUp"
DataKeyNames
=
"id"
CommandItemDisplay
=
"None"
CssClass
=
"radGrid"
AllowNaturalSort
=
"true"
>
<
HeaderStyle
Font-Bold
=
"True"
/>
<
EditFormSettings
FormStyle-Width
=
"300"
EditFormType
=
"Template"
CaptionFormatString
=
"Edit : {0}"
CaptionDataField
=
"FullName"
PopUpSettings-Width
=
"500"
>
<
EditColumn
FilterControlAltText
=
"EditCommandColumn column"
/>
<
FormTemplate
>
<!-- A Form that works fine-->
</
FormTemplate
>
</
EditFormSettings
>
<
SortExpressions
>
<
telerik:GridSortExpression
FieldName
=
"FullName"
SortOrder
=
"Descending"
/>
</
SortExpressions
>
<
Columns
>
<
telerik:GridBoundColumn
HeaderText
=
"ID"
DataField
=
"ID"
Visible
=
"false"
/>
<
telerik:GridEditCommandColumn
UniqueName
=
"EditCommandColumn"
EditText
=
"+/-"
ItemStyle-Width
=
"25"
ButtonType
=
"LinkButton"
/>
<
telerik:GridBoundColumn
HeaderText
=
"Person"
DataField
=
"FullName"
/>
<
telerik:GridTemplateColumn
HeaderText
=
"Position/AOR"
UniqueName
=
"PositionAOR"
>
<
ItemTemplate
>
<
span
class
=
"bold"
>Pos: </
span
><
asp:Literal
runat
=
"server"
ID
=
"litPosition"
Text='<%# Eval("some-string") %>' /><
br
/>
<
span
class
=
"bold"
>AOR: </
span
><
asp:Literal
runat
=
"server"
ID
=
"litAorCertifications"
Text='<%# Eval("another-string") %>' />
</
ItemTemplate
>
</
telerik:GridTemplateColumn
>
<
telerik:GridBoundColumn
HeaderText
=
"s1"
DataField
=
"some status"
ItemStyle-HorizontalAlign
=
"center"
ItemStyle-Width
=
"50"
/>
<
telerik:GridBoundColumn
HeaderText
=
"s2"
DataField
=
"another-status"
ItemStyle-HorizontalAlign
=
"center"
ItemStyle-Width
=
"50"
/>
<
telerik:GridBoundColumn
HeaderText
=
"s3"
DataField
=
"yay-status"
ItemStyle-HorizontalAlign
=
"center"
ItemStyle-Width
=
"50"
/>
<
telerik:GridTemplateColumn
HeaderText
=
"checkbox1Column"
>
<
ItemTemplate
>
<
asp:CheckBox
ID
=
"chkbx1"
Checked='<%# Eval("checkedYet") != null %>'
runat="server" Enabled='<%# Eval("person").ToString() == _currentPerson.ID.ToString() && Eval("checkedYet") == null %>'
OnCheckedChanged="chkAcknowledged_CheckChanged" AutoPostBack="true" />
<
asp:Literal
ID
=
"litcheckyDate"
runat
=
"server"
Text='<%# Eval("Acknowledged") != null ? ((DateTime)Eval("Acknowledged")).ToString("MM-dd-yy HH:mm") : "" %>'></
asp:Literal
>
</
ItemTemplate
>
</
telerik:GridTemplateColumn
>
<
telerik:GridTemplateColumn
HeaderText
=
"checkbox2column"
>
<
ItemTemplate
>
<
asp:CheckBox
ID
=
"chkbx2"
Checked='<%# Eval("isAlreadyChecked") != null %>' runat="server"
Enabled='<%# Eval("person").ToString() == _currentPerson.ID.ToString() && Eval("isAlreadyChecked") == null %>'
OnCheckedChanged="chkbox1_CheckChanged" AutoPostBack="true" />
<
asp:Literal
ID
=
"litcheckedDT"
runat
=
"server"
Text='<%# Eval("isAlreadyChecked") != null ? ((DateTime)Eval("isAlreadyChecked")).ToString("MM-dd-yy HH:mm") : "" %>'></
asp:Literal
>
</
ItemTemplate
>
</
telerik:GridTemplateColumn
>
<
telerik:GridTemplateColumn
HeaderText
=
"Actions"
UniqueName
=
"deleteColumn"
>
<
ItemTemplate
>
<
asp:LinkButton
runat
=
"server"
ID
=
"lbDelete"
Text
=
"Remove "
OnClick
=
"del"
OnClientClick
=
"javascript:return confirm('Are you sure?');"
></
asp:LinkButton
>
</
ItemTemplate
>
</
telerik:GridTemplateColumn
>
</
Columns
>
</
MasterTableView
>
<
PagerStyle
AlwaysVisible
=
"False"
/>
<
SortingSettings
EnableSkinSortStyles
=
"False"
></
SortingSettings
>
</
telerik:RadGrid
>
protected
void
rgMPSList_onPreRender(
object
sender, EventArgs e)
{
bool
canDelete;
if
(_canDelete !=
null
)
{
canDelete = (
bool
)_canDelete;
}
else
{
canDelete = Helpers.IsUserInRoles(
"1,2,3"
);
}
foreach
(GridColumn col
in
rgList.MasterTableView.RenderColumns)
{
if
(col.ColumnType ==
"GridTemplateColumn"
&& col.UniqueName ==
"deleteColumn"
&& !canDelete)
{
col.Display =
false
;
}
else
if
(col.ColumnType ==
"GridEditCommandColumn"
&& col.UniqueName ==
"EditCommandColumn"
&& !canDelete)
{
col.Display =
false
;
}
}
}