Telerik RadGrid 条件显示

Telerik RadGrid conditional display

这是我在 asp.net 页面

中的 RadGrid 代码
<telerik:RadGrid ID="grvData" runat="server" GridLines="Horizontal" EnableEmbeddedSkins="false" CellPadding="0" BorderWidth="0px"
        Width="1000px" Height="300px" CellSpacing="0"
        OnItemCommand="grvData_ItemCommand"
        OnNeedDataSource="grvData_NeedDataSource" AllowPaging="True" AllowSorting="True"  Skin="skn_RadGridCustom"
        SkinsDir="|CurrentTheme|/" SkinsPath="|CurrentTheme|/" >
        <ClientSettings>
            <Scrolling AllowScroll="True" UseStaticHeaders="True" />
        </ClientSettings>
        <MasterTableView PageSize="10" 
            AllowFilteringByColumn="false" AutoGenerateColumns="False" DataKeyNames="Id" AllowSorting="True">

            <Columns>
                <telerik:GridBoundColumn DataField="Id" DataType="System.Int64" ReadOnly="True" UniqueName="Id" Display="true">
                </telerik:GridBoundColumn>
                <telerik:GridBoundColumn DataField="DetailId" DataType="System.Int64" ReadOnly="True" UniqueName="DetailId" Display="true">
                </telerik:GridBoundColumn>
                <telerik:GridTemplateColumn FilterControlAltText="Filter Reject column" UniqueName="Reject" HeaderText="Reject" Display="true">
                    <ItemTemplate>
                        <telerik:RadButton ID="btnReject" runat="server" ButtonType="StandardButton" Text="Reject" CommandName="Reject" />
                    </ItemTemplate>
                </telerik:GridTemplateColumn>
            </Columns>
        </MasterTableView>
    </telerik:RadGrid>

如何在加载网格时根据数据绑定到 RadGrid 的存储过程中的 IsCancelled=1/0 列以 enabled/disabled 模式显示拒绝按钮。

请尝试使用以下代码片段。

ASPX.CS 请为您的 radgrid 订阅 "ItemDataBound" 活动。

protected void RadGrid1_ItemDataBound(object sender, GridItemEventArgs e)
{
    if (e.Item is GridDataItem)
        {
                GridDataItem item = e.Item as GridDataItem;
                RadButton btnReject = item.FindControl("btnReject") as RadButton; 

                if (item.GetDataKeyValue("IsCancelled").ToString() == "1")
                {
                    btnReject.Enabled = true;
                }
        else
        {
                    btnReject.Enabled = false;  
        }

    }
}

ASPX 要将 'IsCancelled' 字段访问到 C# 代码中,请将此字段指定为数据键。

<MasterTableView DataKeyNames="Id,IsCancelled">

如有任何疑问,请告诉我。