or
<telerik:RadGrid ID="RadGrid2" runat="server" AutoGenerateColumns="False"CellSpacing="0" Culture="de-DE" DataSourceID="ObjectDataSource2"GridLines="None" AllowPaging="True" AllowSorting="True" AllowMultiRowEdit="false"oninsertcommand="RadGrid2_InsertCommand"onitemdatabound="RadGrid2_ItemDataBound"onupdatecommand="RadGrid2_UpdateCommand"><ClientSettings> <Selecting CellSelectionMode="None" /></ClientSettings><MasterTableView AllowAutomaticDeletes="True" AllowAutomaticInserts="True" AllowAutomaticUpdates="True" CommandItemDisplay="TopAndBottom" DataKeyNames="TypeID" DataSourceID="ObjectDataSource2"> <CommandItemSettings ExportToPdfText="Export to PDF" /> <RowIndicatorColumn FilterControlAltText="Filter RowIndicator column" Visible="True"> <HeaderStyle Width="20px" /> </RowIndicatorColumn> <ExpandCollapseColumn FilterControlAltText="Filter ExpandColumn column" Visible="True"> <HeaderStyle Width="20px" /> </ExpandCollapseColumn> <Columns> <telerik:GridBoundColumn DataField="TypeID" DataType="System.Int64" FilterControlAltText="Filter TypeID column" HeaderText="TypeID" ReadOnly="True" UniqueName="TypeID" Visible="False"> </telerik:GridBoundColumn> <telerik:GridTemplateColumn DataField="TypeName" FilterControlAltText="Filter TypeName column" HeaderText="TypeName" SortExpression="TypeName" UniqueName="TypeName"> <EditItemTemplate> <asp:TextBox ID="TypeNameTextBox" runat="server" Text='<%# Bind("TypeName") %>'></asp:TextBox> <asp:RequiredFieldValidator ID="RequiredFieldValidator3" runat="server" ControlToValidate="TypeNameTextBox" Display="Dynamic" ErrorMessage="<%$ Resources:BasicSettings, RequiredValidation %>"></asp:RequiredFieldValidator> </EditItemTemplate> <ItemTemplate> <asp:Label ID="TypeNameLabel" runat="server" Text='<%# Eval("TypeName") %>'></asp:Label> </ItemTemplate> </telerik:GridTemplateColumn> <telerik:GridBoundColumn DataField="TypeText" FilterControlAltText="Filter TypeText column" HeaderText="TypeText" SortExpression="TypeText" UniqueName="TypeText"> </telerik:GridBoundColumn> <telerik:GridTemplateColumn DataField="TypeObjectTypes" FilterControlAltText="Filter TypeObjectTypes column" HeaderText="Object Type" UniqueName="TypeObjectTypes"> <EditItemTemplate> <asp:CheckBoxList ID="CblObjectTypes" runat="server"> <asp:ListItem Value="DynamicImage">Dynamic Image</asp:ListItem> <asp:ListItem Value="StaticURL">Static URL</asp:ListItem> <asp:ListItem>Static Text</asp:ListItem> <asp:ListItem Value="DynamicScrolltext">Dynamic Scrolltext</asp:ListItem> <asp:ListItem Value="FreeText">Free Text</asp:ListItem> <asp:ListItem>Object List</asp:ListItem> </asp:CheckBoxList> </EditItemTemplate> <ItemTemplate> <asp:Label ID="TypeObjectTypesLabel" runat="server" Text='<%# Eval("TypeObjectTypes") %>'></asp:Label> </ItemTemplate> </telerik:GridTemplateColumn> <telerik:GridBoundColumn DataField="TypeMenu" FilterControlAltText="Filter TypeMenu column" HeaderText="Menu Text" UniqueName="TypeMenu"> </telerik:GridBoundColumn> <telerik:GridTemplateColumn DataField="TypePriority" DataType="System.Int32" FilterControlAltText="Filter TypePriority column" HeaderText="Priority" UniqueName="TypePriority"> <EditItemTemplate> <asp:TextBox ID="TypePriorityTextBox" runat="server" Text='<%# Bind("TypePriority") %>'></asp:TextBox> </EditItemTemplate> <ItemTemplate> <asp:Label ID="TypePriorityLabel" runat="server" Text='<%# Eval("TypePriority") %>'></asp:Label> </ItemTemplate> </telerik:GridTemplateColumn> <telerik:GridBoundColumn DataField="ProjectID" DataType="System.Int64" FilterControlAltText="Filter ProjectID column" HeaderText="Project" UniqueName="ProjectID" Visible="False" ReadOnly="True"> </telerik:GridBoundColumn> <telerik:GridEditCommandColumn ButtonType="ImageButton" FilterControlAltText="Filter EditCommandColumn column" HeaderText="<%$ Resources:BasicSettings, Edit %>"> </telerik:GridEditCommandColumn> <telerik:GridButtonColumn ButtonType="ImageButton" CommandName="Delete" ConfirmText="<%$ Resources:BasicSettings, ConfirmDelete %>" HeaderText="<%$ Resources:BasicSettings, Delete %>" Text="Delete" UniqueName="DeleteColumn"> </telerik:GridButtonColumn> </Columns> <EditFormSettings> <EditColumn FilterControlAltText="Filter EditCommandColumn column"> </EditColumn> </EditFormSettings></MasterTableView><FilterMenu EnableImageSprites="False"></FilterMenu></telerik:RadGrid><asp:ObjectDataSource ID="ObjectDataSource2" runat="server"DeleteMethod="DeleteLayoutType" InsertMethod="InsertLayoutType"SelectMethod="GetLayoutTypes"TypeName="LayoutTypesBLL" UpdateMethod="UpdateLayoutType" ><DeleteParameters> <asp:Parameter Name="TypeID" Type="Int32" /></DeleteParameters><InsertParameters> <asp:Parameter Name="TypeName" Type="String" /> <asp:Parameter Name="TypeText" Type="String" /> <%--<asp:Parameter Name="TypeObjectTypes" Type="String" />--%> <asp:Parameter Name="TypeMenu" Type="String" /> <asp:Parameter Name="TypePriority" Type="Int32" /> <asp:Parameter Name="ProjectID" Type="Int64" /></InsertParameters><UpdateParameters> <asp:Parameter Name="TypeName" Type="String" /> <asp:Parameter Name="TypeText" Type="String" /> <%--<asp:Parameter Name="TypeObjectTypes" Type="String" />--%> <asp:Parameter Name="TypeMenu" Type="String" /> <asp:Parameter Name="TypePriority" Type="Int32" /> <asp:Parameter Name="ProjectID" Type="Int64" /> <asp:Parameter Name="TypeID" Type="Int32" /></UpdateParameters></asp:ObjectDataSource>protected void RadGrid2_InsertCommand(object sender, GridCommandEventArgs e){ if (e.Item is GridEditableItem && e.Item.IsInEditMode) { GridEditableItem item = (GridEditableItem)e.Item; CheckBoxList cb = (CheckBoxList)item.FindControl("CblObjectTypes"); string selecteditems = ""; for (int i = 0; i < cb.Items.Count; i++) { if (cb.Items[i].Selected) selecteditems += cb.Items[i].Value + ","; } if (selecteditems != "") { if (selecteditems.EndsWith(",")) { int lastdel = selecteditems.LastIndexOf(","); selecteditems = selecteditems.Remove(lastdel); } } ObjectDataSource2.InsertParameters.Add("TypeObjectTypes", selecteditems); }}protected void RadGrid2_ItemDataBound(object sender, GridItemEventArgs e){ if (e.Item is GridEditableItem && e.Item.IsInEditMode) { GridEditableItem item = (GridEditableItem)e.Item; CheckBoxList cb = (CheckBoxList)item.FindControl("CblObjectTypes"); string[] items; if (e.Item.OwnerTableView.IsItemInserted) { //item is about to be inserted items = new string[] { "" }; } else { //item is about to be edited items = (e.Item.DataItem as DataRowView)["TypeObjectTypes"].ToString().Split(new char[] { ',' }); } for (int i = 0; i < cb.Items.Count; i++) { if (items.Contains(cb.Items[i].Value)) cb.Items[i].Selected = true; } }}protected void RadGrid2_UpdateCommand(object sender, GridCommandEventArgs e){ if (e.Item is GridEditableItem && e.Item.IsInEditMode) { GridEditableItem item = (GridEditableItem)e.Item; CheckBoxList cb = (CheckBoxList)item.FindControl("CblObjectTypes"); string selecteditems = ""; for (int i = 0; i < cb.Items.Count; i++) { if (cb.Items[i].Selected) selecteditems += cb.Items[i].Value + ","; } if (selecteditems != "") { if (selecteditems.EndsWith(",")) { int lastdel = selecteditems.LastIndexOf(","); selecteditems = selecteditems.Remove(lastdel); } } ObjectDataSource2.UpdateParameters.Add("TypeObjectTypes", selecteditems); }}<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; } }}