如何在我的 radGrid 中添加一个复选框列?以及如何显示展开按钮?

How can I add a check box column in my radGrid? And how do I show the expand button?

我正在学习 Telerik,我正在尝试将以下设计翻译成英文(我不需要你帮我翻译,只需要设计组件):

到目前为止我有这个:

如何添加 check box?另外,我如何摆脱我自己创建的 columns 之前的那 3 个空白 columns

这是我目前的 HTML 代码:

<telerik:RadAjaxPanel ID="RadAjaxPanel1" runat="server" LoadingPanelID="RadAjaxLoadingPanel1" Width="483px"> 

            <asp:Label ID="TreatmentCenter" Text="Treatment Center:         " runat="server"></asp:Label>
            <telerik:RadDropDownList RenderMode="Lightweight" DefaultMessage="Select City" DataTextField="City" ID="DDL1" runat="server"></telerik:RadDropDownList>
                 
            <br />
          
            <telerik:RadGrid RenderMode="Lightweight"
                ID="RadGrid1" runat="server" AutoGenerateColumns="False" 
                ShowGroupPanel="True" Height="148px" Width="462px">

            <MasterTableView EnableHierarchyExpandAll="true" DataKeyNames="OrderID">
                <DetailTables>
                    
                    <telerik:GridTableView EnableHierarchyExpandAll="true" DataKeyNames="ProductID" runat="server">
                        
                        <ParentTableRelation>
                            <telerik:GridRelationFields DetailKeyField="OrderID" MasterKeyField="OrderID" />
                        </ParentTableRelation>
                       
                         <Columns>
                            <telerik:GridCheckBoxColumn>
                               
                            </telerik:GridCheckBoxColumn>
                            <telerik:GridBoundColumn SortExpression="ProductName" HeaderText="Product Name" HeaderButtonType="TextButton"
                                DataField="ProductName">
                            </telerik:GridBoundColumn>
                            
                            <telerik:GridBoundColumn SortExpression="ProductID" HeaderText="Product ID" HeaderButtonType="TextButton"
                                DataField="ProductID">
                            </telerik:GridBoundColumn>
                            
                            <telerik:GridBoundColumn SortExpression="Quantity" HeaderText="Quantity" HeaderButtonType="TextButton"
                                DataField="Quantity">
                            </telerik:GridBoundColumn>
                            
                            <telerik:GridBoundColumn SortExpression="Price" HeaderText="Price" HeaderButtonType="TextButton"
                                DataField="Price">
                            </telerik:GridBoundColumn>                      
                            
                            <telerik:GridBoundColumn SortExpression="Procurer" HeaderText="Procurer" HeaderButtonType="TextButton"
                                DataField="Procurer">
                            </telerik:GridBoundColumn>   
                                           
                        </Columns>
                    
                    </telerik:GridTableView>                 
                
                </DetailTables>
                
                <Columns>
                     
                    <telerik:GridBoundColumn SortExpression="OrderID" HeaderText="Order ID" HeaderButtonType="TextButton"
                                DataField="OrderID">
                    </telerik:GridBoundColumn> 

                    <telerik:GridBoundColumn SortExpression="DateOfOrder" HeaderText="Date Of Order" HeaderButtonType="TextButton"
                                DataField="DateOfOrder">
                    </telerik:GridBoundColumn> 

                    <telerik:GridBoundColumn SortExpression="OrderName" HeaderText="Order Name" HeaderButtonType="TextButton"
                                DataField="OrderName">
                    </telerik:GridBoundColumn> 

                    <telerik:GridBoundColumn SortExpression="OrderAddress" HeaderText="Order Address" HeaderButtonType="TextButton"
                                DataField="OrderAddress">
                    </telerik:GridBoundColumn> 

                </Columns>

            </MasterTableView>
           
            <ClientSettings Scrolling-AllowScroll="true">
                <Scrolling AllowScroll="true" />
                <Resizing AllowRowResize ="true" EnableRealTimeResize="true" ResizeGridOnColumnResize="false" />
            </ClientSettings>

            <GroupingSettings ShowUnGroupButton="true" />

        </telerik:RadGrid>

        </telerik:RadAjaxPanel>

我看不懂阿拉伯语文本,所以我不确定您需要的东西有多相似(例如,您是否也需要 RTL 格式的东西),但我建议如下:

  • 检查样本的渲染和控制结构

  • 尝试添加您需要的控件并像任何简单的 HTML 元素一样重新排序它们

这里有一些例子:

只需添加一个复选框:

            <telerik:RadAjaxPanel ID="RadAjaxPanel1" runat="server" LoadingPanelID="RadAjaxLoadingPanel1" Width="93px">
            <telerik:RadCheckBox runat="server" ID="rchb1" Text="label text goes here"></telerik:RadCheckBox>
                <%--<asp:Label ID="TreatmentCenter" Text="Treatment Center" runat="server"></asp:Label>--%>
                <telerik:RadDropDownList RenderMode="Classic" DefaultMessage="Select City" DataTextField="City" ID="DDL1" runat="server"></telerik:RadDropDownList>

注意:RadCheckbox 仅支持轻量级渲染模式,因此其他 Telerik 按钮也应该使用它们的轻量级模式,或者您应该使用 asp:Checkbox 并使用 asp:Label 的 AssociatedControlID。

在网格列上 - 由于 AutoGenerateColumns 为假,这些列很可能只出现在设计时表面上。在浏览器中尝试 运行 页面,看看是否是这种情况。如果它们仍然存在,请查看代码隐藏以防事件发生,例如 Page_Init 以编程方式将列添加到您的网格。

另请注意,分组会添加元素(列)以在视觉上区分分组。

至于按钮 - 只需将它们包裹在 div 个元素中,例如:

            <div>
                <telerik:RadButton ID="Confirm" Text="Confirm" runat="server" />
                <telerik:RadButton ID="MainPage" Text="Main Page" runat="server" />
            </div>
            <telerik:RadButton ID="PosterPrintTitle" Text="Poster Print Title" runat="server" />
            <telerik:RadButton ID="PrintInvoice" Text="Print Invoice" runat="server" />

GridCheckBoxColumn 用于位绑定数据。如果要使用复选框进行多选,则必须使用 GridTemplateColumn

<telerik:GridTemplateColumn UniqueName="CheckBoxColumn">
    <ItemTemplate>
        <asp:CheckBox ID="CheckBox1" runat="server" AutoPostBack="true" />
    </ItemTemplate>
</telerik:GridTemplateColumn>

至于前两列,一旦您运行它们将不会呈现。它们是 DetailTables

的占位符

想通了

<Columns>
  <telerik:GridClientSelectColumn UniqueName="GridClientSelectColumn1" />
</Columns>