I'm having a weird problem with some of the RadGrids I'm using. Certain columns appear all in white and without any controls in them when in edit mode. This happens in IE, Chrome, and Firefox (except the column is yellow in Firefox), and I don't understand why.
You can see 2 pics of the grid attached below. One is in read only mode, and the other is in edit mode. Do notice that I am using inplace editing and making all of the rows editable.
Here's the aspx code (I renamed some column and control names).
Here's some of the only relevant C# code (i.e. relevant to the ToDelete column and the grid itself):
Basically, when I'm in readonly mode, I hide the ToDelete column, the Edit/Update/Cancel buttons and I do not display the commanditem controls.
In Edit mode, I display the ToDelete column and hide the Edit/Update/Cancel buttons. On the other hand, I display the command item controls.
Any help?
Thanks.
You can see 2 pics of the grid attached below. One is in read only mode, and the other is in edit mode. Do notice that I am using inplace editing and making all of the rows editable.
Here's the aspx code (I renamed some column and control names).
<telerik:RadGrid ID="radgrid1" AutoGenerateColumns="False" runat="server" GridLines="None" Skin="Office2007" CellSpacing="0" DataSourceID="radgrid1DataSource" OnItemInserted="radgrid1_ItemInserted" AllowAutomaticInserts="true" OnItemDataBound="radgrid1_ItemDataBound" OnItemCommand="radgrid1_ItemCommand" AllowAutomaticDeletes="true" ValidationSettings-EnableValidation="false"> <MasterTableView DataKeyNames="KeyID" EditMode="InPlace" AllowAutomaticInserts="true" AllowAutomaticDeletes="true"> <Columns> <telerik:GridBoundColumn DataField="KeyID" Visible="false" UniqueName="KeyID" HeaderText="<%$ Resources:GlobalResources, KeyID %>" /> <telerik:GridBoundColumn DataField="ProjectID" Visible="false" UniqueName="ProjectID" HeaderText="<%$ Resources:GlobalResources, ProjectID %>" /> <telerik:GridBoundColumn DataField="Name" UniqueName="Name" HeaderText="<%$ Resources:GlobalResources, Name%>" /> <telerik:GridNumericColumn DataField="InitialAmount" NumericType="Number" DataFormatString="{0:N}" DecimalDigits="2" UniqueName="InitialAmount" HeaderText="<%$ Resources:GlobalResources, InitialAmount%>" /> <telerik:GridTemplateColumn UniqueName="CurrencyCode" ItemStyle-Width="260px" HeaderText="<%$ Resources:GlobalResources, CurrencyCode %>"> <ItemTemplate> <%# DataBinder.Eval(Container.DataItem, "CurrencyCode") %> </ItemTemplate> <EditItemTemplate> <cc:CurrencyDropDownList ID="ddlCurrency" runat="server" IsAlertsVisible="false" IsLockVisible="false" IsHistoryVisible="false" IsFieldLabelVisible="false" IsReadOnly="false" IncludeNullValue="false" MyDropDownList-SelectedValue='<%# Bind("CurrencyCode") %>' /> </EditItemTemplate> </telerik:GridTemplateColumn> <telerik:GridCheckBoxColumn DataField="ToDelete" UniqueName="ToDelete" HeaderText="Delete" /> <telerik:GridEditCommandColumn ButtonType="PushButton" InsertText="Confirm" EditText="Edit" CancelText="Cancel" UniqueName="EditCommandColumn" /> </Columns> <NoRecordsTemplate> No Records Found. </NoRecordsTemplate> <CommandItemTemplate> <table cellpadding="5" style="width: 100%"> <tr> <td align="left"> <asp:LinkButton ID="btnAddNewRecord" runat="server" CommandName="InitInsert"> <img style="border:0px" alt="" src="../Images/add.png" />Add New Record </asp:LinkButton> </td> <td align="right"> <asp:LinkButton ID="btnDeleteSelected" runat="server" CommandName="DeleteSelected" OnClientClick="javascript:return confirm('Delete all selected records?')"> <img src="../Images/delete.png" alt="" style="border:0px" />Delete Selected </asp:LinkButton> </td> </tr> </table> </CommandItemTemplate> </MasterTableView></telerik:RadGrid>Here's some of the only relevant C# code (i.e. relevant to the ToDelete column and the grid itself):
protected void Page_Load(object sender, EventArgs e) { if (this.IsInEditMode) { for (int i = 0; i < this.radgrid1.PageSize; i++) { this.radgrid1.EditIndexes.Add(i); } this.radgrid1.Columns.FindByUniqueName("ToDelete").Visible = true; this.radgrid1.MasterTableView.CommandItemDisplay = GridCommandItemDisplay.Bottom; } else { this.radgrid1.Columns.FindByUniqueName("ToDelete").Visible = false; this.radgrid1.MasterTableView.CommandItemDisplay = GridCommandItemDisplay.None; } }protected void radgrid1_ItemDataBound(object sender, GridItemEventArgs e) { if (e != null) { if (e.Item is GridDataItem && !e.Item.IsInEditMode) { GridDataItem item = e.Item as GridDataItem; Button editButton = (Button)item.Controls[item.Controls.Count - 1].Controls[0]; editButton.Visible = false; } else if (e.Item is GridDataInsertItem && e.Item.IsInEditMode) { GridDataInsertItem item = e.Item as GridDataInsertItem; Button insertButton = (Button)item.Controls[item.Controls.Count - 1].Controls[0]; Button cancelButton = (Button)item.Controls[item.Controls.Count - 1].Controls[2]; insertButton.Visible = true; cancelButton.Visible = true; } else if (e.Item is GridDataItem && e.Item.IsInEditMode) { GridEditableItem item = e.Item as GridEditableItem; Button editButton = (Button)item.Controls[item.Controls.Count - 1].Controls[0]; Button cancelButton = (Button)item.Controls[item.Controls.Count - 1].Controls[2]; editButton.Visible = false; cancelButton.Visible = false; } } }Basically, when I'm in readonly mode, I hide the ToDelete column, the Edit/Update/Cancel buttons and I do not display the commanditem controls.
In Edit mode, I display the ToDelete column and hide the Edit/Update/Cancel buttons. On the other hand, I display the command item controls.
Any help?
Thanks.