Hi - I'm struggling with something that I can't seem to figure out. I want to be able to display a RadComboBox that can be used on each row. I need this because setting up the data I'm using requires a selection be made for each row. My grid markup is as follows:
<telerik:RadGrid ID="grdRules" runat="server" GridLines="None" AutoGenerateColumns="False" OnItemCreated="grdRules_ItemCreated"HorizontalAlign="NotSet" OnNeedDataSource="grdRules_NeedDataSource" Width="99%" OnPreRender="grdRules_PreRender" PageSize="100"> <MasterTableView DataKeyNames="ID" GridLines="None" Width="100%" EditMode="InPlace"> <Columns> <telerik:GridCheckBoxColumn UniqueName="IncludeRuleColumn"/> <telerik:GridTemplateColumn UniqueName="RuleName" HeaderText="Name" DataField="Name" SortExpression="Name"> <ItemTemplate> <asp:Label ID="lblName" runat="server" Text='<%# DataBinder.Eval(Container.DataItem, "Name") %>'></asp:Label> </ItemTemplate> </telerik:GridTemplateColumn> <telerik:GridTemplateColumn HeaderText="Message" UniqueName="ValidationMessage" DataField="MessageText" SortExpression="Message.MessageText"> <ItemTemplate> <telerik:RadComboBox runat="server" ID="cbMessage" OnDataBinding="cbMessages_DataBinding" DataTextField="MessageText" DataValueField="ID"></telerik:RadComboBox> </ItemTemplate> </telerik:GridTemplateColumn> <telerik:GridTemplateColumn HeaderText="Outcome" UniqueName="OutcomeType" SortExpression="OutcomeType"> <ItemTemplate> <telerik:RadComboBox runat="server" ID="cbOutcomeTypes" OnDataBinding="cbOutcomeTypes_DataBinding"></telerik:RadComboBox> </ItemTemplate> </telerik:GridTemplateColumn> </Columns> </MasterTableView> </telerik:RadGrid>
When the grid displays, they all look like the RadComboBox, but they're all disabled and cannot be 'dropped down' to select an item. I've tried forcing all of the rows into edit mode with EditItemTemplate entries as well, and that doesn't work either. Here is the server side code I've tried that with:
protected void grdRules_PreRender(object sender, EventArgs e) { foreach (GridItem item in grdRules.MasterTableView.Items) { if (item is GridEditableItem) { GridEditableItem editableItem = item as GridDataItem; editableItem.Edit = true; } } for (int i = 0; i < grdRules.PageSize; i++) { grdRules.EditIndexes.Add(i); } grdRules.Rebind(); } protected void grdRules_ItemCreated(object sender, GridItemEventArgs e) { if(!Page.IsPostBack && e.Item is GridEditableItem) { e.Item.Edit = true; } }Is what I'm explaining possible with the RadGrid? What am I missing here? I feel like I've tried everything today to get this to work, and to no avail. Ideas please? Thanks!