【问题标题】:Missing ComboBox on Grid Item Edit网格项目编辑上缺少组合框
【发布时间】:2019-05-07 15:29:15
【问题描述】:

我是 Telerik 新手,正在努力提高学习曲线。

我有一个使用 linq 查询填充的 RadGrid。我正在使用一个 带有 ComboBox 的 GridTemplateColumn 用于新建和编辑其中一个字段。问题是 ComboBox 没有显示在插入或编辑屏幕上。设置为 GridDropDownColumn 的字段会在插入或编辑时显示。我需要 GridTemplateColumn 解决方案,因为一旦选择了下拉列表,我就需要运行一些代码。

我在这里缺少什么?我正在尝试从 Telerik 示例中工作。是 Release 字段给我带来了问题。

<telerik:RadGrid RenderMode="Lightweight" ID="grdData" runat="server"
        AllowPaging="true"
        AllowSorting="true"
        AutoGenerateColumns="false"
        AllowAutomaticInserts="true" 
        AllowAutomaticUpdates="true"
        OnNeedDataSource="grdData_OnNeededDataSource" 
        OnItemDataBound="grdData_OnItemDataBound"
        OnUpdateCommand="grdData_OnUpdateCommand" >
    <ClientSettings>
        <Selecting AllowRowSelect="True" />
        <Scrolling AllowScroll="True" UseStaticHeaders="True" />
    </ClientSettings>
    <SelectedItemStyle BackColor="LightYellow" />

    <MasterTableView Width="100%" 
            DataKeyNames="TID" 
            EditMode="EditForms"
            AutoGenerateColumns="false" 
            InsertItemDisplay="Top"
            CommandItemDisplay="Top"
            InsertItemPageIndexAction="ShowItemOnFirstPage">
        <Columns>
            <telerik:GridEditCommandColumn></telerik:GridEditCommandColumn>
            <telerik:GridBoundColumn DataField="TID" UniqueName="TID" 
                HeaderText="TID" ReadOnly="true"></telerik:GridBoundColumn>
            <telerik:GridDropDownColumn UniqueName="Employee" ListDataMember="Employee"
                SortExpression="Employee" ListTextField="Employee" ListValueField="Employee"
                HeaderText="Employee" DataField="Employee"
                DropDownControlType="RadComboBox"
                EnableEmptyListItem="true" EmptyListItemText="Make a choice" EmptyListItemValue=""
                />
            <telerik:GridDropDownColumn UniqueName="Job" ListDataMember="Job"
                SortExpression="Job" ListTextField="Job" ListValueField="Job"
                HeaderText="Job" DataField="Job" 
                DropDownControlType="RadComboBox"
                EnableEmptyListItem="true" EmptyListItemText="Make a choice" EmptyListItemValue=""
                />
            <telerik:GridTemplateColumn UniqueName="Release" 
                    HeaderText="Release"
                    HeaderStyle-HorizontalAlign="Center"
                    SortExpression="Release"
                    ItemStyle-Width="170px" HeaderStyle-Width="80px"
                    DataField="Release" >
                <ItemTemplate>
                    <%#DataBinder.Eval(Container.DataItem, "Release")%>
                </ItemTemplate>

                <telerik:EditItemTemplate>
                    <telerik:RadComboBox runat="server" ID="rcbRelease"
                        AutoPostBack="true" 
                        EnableLoadOnDemand="true"
                        DataTextField="Release"
                        DataValueField="Release" 
                        Text='<% #Bind("Release")%>'
                        EnableEmptyListItem="true" 
                        EmptyListItemText="Make a choice" 
                        EmptyListItemValue="NR"
                        OnDataBinding="rcbRelease_OnDataBinding"
                        ></telerik:RadComboBox>
                </telerik:EditItemTemplate>
            </telerik:GridTemplateColumn>

            <telerik:GridBoundColumn DataField="ComponentJob" UniqueName="ComponentJob" HeaderText="ComponentJob"></telerik:GridBoundColumn>
            <telerik:GridBoundColumn DataField="Operation" UniqueName="Operation" HeaderText="Operation"></telerik:GridBoundColumn>
            <telerik:GridBoundColumn DataField="Quantity" UniqueName="Quantity" HeaderText="Quantity"></telerik:GridBoundColumn>
            <telerik:GridBoundColumn DataField="Priority" UniqueName="Priority" HeaderText="Priority"></telerik:GridBoundColumn>
            <telerik:GridBoundColumn DataField="Status" UniqueName="Status" HeaderText="Status"></telerik:GridBoundColumn>
            <telerik:GridBoundColumn DataField="LastEdit" UniqueName="LastEdit" HeaderText="LastEdit"></telerik:GridBoundColumn>
        </Columns>
    </MasterTableView>
</telerik:RadGrid>

【问题讨论】:

    标签: c# asp.net telerik telerik-grid


    【解决方案1】:

    我认为您在使用 ComboBox 时遇到了问题,因为您有 EnableLoadOnDemand=true 但您尚未订阅 ItemsRequested 事件。详情请见Load On Demand Overview

    由于您提到了新的控件,您可能希望首先让 ComboBox LoadOnDemand 在网格之外工作。

    【讨论】:

      【解决方案2】:

      尝试从 EditItemTemplate 声明中删除 Telerik 命名空间/前缀:

      改变这个:

      <telerik:EditItemTemplate>
          <%-- RadComboBox --%>
      </telerik:EditItemTemplate>
      

      到这里:

      <EditItemTemplate>
          <%-- RadComboBox --%>
      </EditItemTemplate>
      

      另外,请与我们分享您关注的文档,以便我们仔细检查并报告文档错误。

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2011-08-13
        • 1970-01-01
        • 1970-01-01
        • 2013-10-15
        • 1970-01-01
        相关资源
        最近更新 更多