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