I have a basic grid that I want to allow InPlace editing of a few columns (I will later add an Edit Form to allow for full editing but, for now, this is it). One of the columns of the grid I want to be a GridDropDownColumn and default it to display the current data and switch to a dropdownlist in Edit mode (again, using InPlace editing) and I want the default selected value to be the current value.
I've been through every demo and sample I could find in Telerik's document but I cannot get the GridDropDownColumn to do ANYTHING. No data shows up for it and no dropdown ever shows when I click the down arrow. I finally at least got some data to display by falling back to a GridTemplateColumn and putting in an asp:DropDownList control in the EditItemTemplate. Here is the ASPX:
Codebehind:
I've been through every demo and sample I could find in Telerik's document but I cannot get the GridDropDownColumn to do ANYTHING. No data shows up for it and no dropdown ever shows when I click the down arrow. I finally at least got some data to display by falling back to a GridTemplateColumn and putting in an asp:DropDownList control in the EditItemTemplate. Here is the ASPX:
<asp:ObjectDataSource ID="odsGetTaskStartTimes" runat="server" TypeName="DMCproWebApp.BALHelper" SelectMethod="GetTaskStartTimes" /> <asp:ObjectDataSource id="odsGetProgramServicesFast" runat="server" TypeName="DMCproWebApp.BALHelper" SelectMethod="GetProgramServicesFast"> <SelectParameters> <asp:ControlParameter Name="ProgramNumber" ControlID="hiddenProgramListValue" PropertyName="Value" DbType="String" /> </SelectParameters> </asp:ObjectDataSource> <asp:ObjectDataSource ID="odsGetProgramServiceTypes" runat="server" TypeName="DMCproWebApp.BALHelper" SelectMethod="GetProgramServiceTypes" /> <telerik:RadAjaxManager ID="RadAjaxManager1" runat="server"> <AjaxSettings> <telerik:AjaxSetting AjaxControlID="radgrdProgramServicesFast"> <UpdatedControls><telerik:AjaxUpdatedControl ControlID="radgrdProgramServicesFast" LoadingPanelID="RadAjaxLoadingPanel1"/></UpdatedControls> </telerik:AjaxSetting> </AjaxSettings> </telerik:RadAjaxManager> <div class="GridViewContainer" style="width:944px;"> <telerik:RadGrid ID="radgrdProgramServicesFast" runat="server" Width="942px" DataSourceID="odsGetProgramServicesFast" EnableLinqExpressions="true" EnableEmbeddedSkins="false" Skin="DMCpro" ShowStatusBar="true" AutoGenerateColumns="false" AllowFilteringByColumn="false" AllowPaging="false" AllowSorting="true"> <ClientSettings EnableRowHoverStyle="true" Selecting-AllowRowSelect="true" Scrolling-AllowScroll="true" Scrolling-ScrollHeight="280px" /> <GroupingSettings CaseSensitive="false" /> <MasterTableView TableLayout="Fixed" DataKeyNames="ProgramNumber,fldVenue,LineNumber,ItemNumber,OfficeLocation,ProgramLocation,ProgramStartDate,fldStatus,fldTruckLoadIn,AddToSchedule,fldAddtoContract,CustomerID,Description,RFPCount" EditMode="InPlace"> <ItemStyle Font-Size="Small" Wrap="false" /> <AlternatingItemStyle Font-Size="Small" Wrap="false" /> <Columns> <telerik:GridEditCommandColumn ButtonType="ImageButton" HeaderStyle-CssClass="radGridViewHeader" HeaderStyle-Width="46px" EditImageUrl="~/img/Edit16x16.png" UpdateImageUrl="../img/Save16x16.png" CancelImageUrl="../img/Cancel16x16.png" /> <telerik:GridImageColumn UniqueName="RFP" ImageUrl="~/img/Check-16x16.png" HeaderText="RFP" HeaderStyle-CssClass="radGridViewHeader" HeaderStyle-Width="22px" HeaderStyle-HorizontalAlign="Left" ItemStyle-HorizontalAlign="Left" /> <telerik:GridBoundColumn DataField="fldTruckLoadIn" HeaderText="Sort" SortExpression="fldTruckLoadIn" HeaderStyle-CssClass="radGridViewHeader" HeaderStyle-Width="35px" HeaderStyle-HorizontalAlign="Left" AllowFiltering="false" /> <telerik:GridCheckBoxColumn DataField="AddToSchedule" HeaderText="QS" SortExpression="AddToSchedule" HeaderStyle-CssClass="radGridViewHeader" HeaderStyle-Width="25px" HeaderStyle-HorizontalAlign="Left" AllowFiltering="false" /> <telerik:GridCheckBoxColumn DataField="fldAddToContract" HeaderText="Add" SortExpression="fldAddToContract" HeaderStyle-CssClass="radGridViewHeader" HeaderStyle-Width="25px" HeaderStyle-HorizontalAlign="Left" AllowFiltering="false" /> <telerik:GridBoundColumn DataField="Description" HeaderText="Title" SortExpression="Description" HeaderStyle-CssClass="radGridViewHeader" HeaderStyle-Width="135px" HeaderStyle-HorizontalAlign="Left" AllowFiltering="false" /> <telerik:GridTemplateColumn HeaderText="Service" UniqueName="ServiceType" HeaderStyle-CssClass="radGridViewHeader" HeaderStyle-Width="175px" HeaderStyle-HorizontalAlign="Left" AllowFiltering="false"> <ItemTemplate> <%#DataBinder.Eval(Container.DataItem, "ServiceType")%> </ItemTemplate> <EditItemTemplate> <asp:DropDownList ID="ddlProgramServiceTypes" runat="server" Width="175px" DataSourceID="odsGetProgramServiceTypes" DataTextField="fldService" DataValueField="fldServiceID" /> </EditItemTemplate> </telerik:GridTemplateColumn> <telerik:GridDropDownColumn DataField="ServiceType" DataSourceID="odsGetProgramServiceType" HeaderText="Service 2" ListTextField="fldservice" ListValueField="fldServiceID" UniqueName="Service2" HeaderStyle-CssClass="radGridViewHeader" HeaderStyle-Width="175px" > </telerik:GridDropDownColumn> <telerik:GridBoundColumn DataField="StartDate" HeaderText="Start Date" SortExpression="StartDate" DataFormatString="{0:MM/dd/yyyy}" HeaderStyle-CssClass="radGridViewHeader" HeaderStyle-Width="75px" HeaderStyle-HorizontalAlign="Left" AllowFiltering="false" ReadOnly="true" /> <telerik:GridBoundColumn DataField="EndTime" HeaderText="Ends" SortExpression="EndTime" DataFormatString="{0:MM/dd/yyyy}" HeaderStyle-CssClass="radGridViewHeader" HeaderStyle-Width="75px" HeaderStyle-HorizontalAlign="Left" AllowFiltering="false" ReadOnly="true" /> <telerik:GridBoundColumn DataField="LineTotal" HeaderText="Service Total" SortExpression="LineTotal" UniqueName="LineTotal" DataFormatString="{0:c}" HeaderStyle-CssClass="radGridViewHeader" HeaderStyle-Width="90px" HeaderStyle-HorizontalAlign="Left" ItemStyle-HorizontalAlign="Right" ReadOnly="true" /> <telerik:GridBoundColumn DataField="fldServiceVenue" HeaderText="Costing Sheet" SortExpression="fldServiceVenue" UniqueName="fldServiceVenue" HeaderStyle-CssClass="radGridViewHeader" HeaderStyle-Width="175px" HeaderStyle-HorizontalAlign="Left" ItemStyle-HorizontalAlign="Left" ReadOnly="true" /> <telerik:GridBoundColumn DataField="Cost" Visible="false" ReadOnly="true" /> <telerik:GridBoundColumn DataField="fldVenue" Visible="false" ReadOnly="true" /> <telerik:GridBoundColumn DataField="LineNumber" Visible="false" ReadOnly="true" /> </Columns> </MasterTableView> </telerik:RadGrid> </div> Codebehind:
Private Sub radgrdProgramServicesFast_ItemDataBound(ByVal sender As Object, ByVal e As Telerik.Web.UI.GridItemEventArgs) Handles radgrdProgramServicesFast.ItemDataBound If (TypeOf e.Item Is GridDataItem) Then Dim gdi As GridDataItem = DirectCast(e.Item, GridDataItem) Dim LineTotal As String = Replace(gdi.Item("LineTotal").Text, " ", "0") Dim Cost As String = Replace(gdi.Item("Cost").Text, " ", "0") Dim chkQS As CheckBox = DirectCast(gdi.Item("AddToSchedule").Controls(0), CheckBox) Dim chkAdd As CheckBox = DirectCast(gdi.Item("fldAddToContract").Controls(0), CheckBox) m_Proposed += CDec(IIf(LineTotal = String.Empty, 0, LineTotal)) + CDec(IIf(Cost = String.Empty, 0, Cost)) m_QS += CDec(IIf(chkQS.Checked, LineTotal, 0)) m_Total += CDec(IIf(chkAdd.Checked, LineTotal, 0)) Dim RFPCount As Integer = CInt(radgrdProgramServicesFast.MasterTableView.DataKeyValues(e.Item.ItemIndex)("RFPCount")) If (RFPCount = 0) Then Dim img As Image = DirectCast(gdi.Item("RFP").Controls(0), Image) img.Visible = False End If Dim cp As ContentPlaceHolder = Page.Form.FindControl("MasterContentPlaceHolder") Dim status As Integer = DirectCast(cp.FindControl("ddlProgramStatus"), DropDownList).SelectedValue If (gdi.EditFormItem IsNot Nothing) Then If (status <> 22) Then gdi.Item("btnEditService").Visible = True ElseIf (status = 22) And Roles.IsUserInRole(Permissions.Programs_Change_Sold_Invoiced) Then gdi.Item("btnEditService").Visible = True Else gdi.Item("btnEditService").Visible = False End If End If End IfEnd Sub