c# - 如何过滤 Telerik 的 RadGrid 的 GridTemplateColumns

标签 c# asp.net telerik filtering radgrid

我的 RadGrid 中有两个 GridTemplateColumn。默认过滤对我不起作用,我想更改它。

GridTemplateColumns 如下所示:

<telerik:GridTemplateColumn FilterControlAltText="Filter Online column" HeaderText="Online"
    UniqueName="Online">
    <ItemTemplate>
        <asp:CheckBox ID="chkOnline" runat="server" Checked='<%# CheckForOnline(Eval("ID")) %>'
            Enabled="False" />
    </ItemTemplate>
    <HeaderStyle HorizontalAlign="Center" VerticalAlign="Middle" />
    <ItemStyle HorizontalAlign="Center" VerticalAlign="Middle" Width="100px" />
</telerik:GridTemplateColumn>

还有一个:

<telerik:GridTemplateColumn FilterControlAltText="Filter FileSize column" HeaderText="FileSize"
    UniqueName="FileSize" Visible="False">
    <ItemTemplate>
        <asp:Label ID="lblFileSize" runat="server" Text='<%# Eval("FileSize") %>'></asp:Label>
    </ItemTemplate>
    <HeaderStyle HorizontalAlign="Center" VerticalAlign="Middle" />
    <ItemStyle HorizontalAlign="Center" VerticalAlign="Middle" />
</telerik:GridTemplateColumn>
<telerik:GridTemplateColumn FilterControlAltText="Filter FileSizeChange column" HeaderText="FileSize"
    UniqueName="FileSizeChange">
    <ItemTemplate>
        <asp:Label ID="lblFileSizeChange" runat="server" Text='<%# ChangeFileSize(Eval("FileSize")) %>'></asp:Label>
    </ItemTemplate>
    <HeaderStyle HorizontalAlign="Center" VerticalAlign="Middle" />
    <ItemStyle HorizontalAlign="Center" VerticalAlign="Middle" />
</telerik:GridTemplateColumn>

如您所见,FileSize TemplateColumn 已禁用,我正在使用 FileSizeChange

FileSize 字符串类似于 (213435) -> 这个数字显示了我们的字节数。 FileSizeChange 就像 (231 MB)/

如何为 OnlineFileSizeChange GridTemplateColumn 编写过滤?

最佳答案

为了在模板列上使用过滤,您需要设置 DataField 并将数据字段添加到 DataKeyNames

例如:

<telerik:RadGrid ID="RadGrid1" runat="server" AutoGenerateColumns="false" AllowFilteringByColumn="True">
    <MasterTableView DataKeyNames="ID">
        <Columns> 
            <telerik:GridTemplateColumn DataField="ID" FilterControlAltText="Filter Online column" HeaderText="Online" UniqueName="Online">
                <ItemTemplate>
                    <asp:CheckBox ID="chkOnline" runat="server" Checked='<%# CheckForOnline(Eval("ID")) %>' Enabled="False" />
                </ItemTemplate>
                <HeaderStyle HorizontalAlign="Center" VerticalAlign="Middle" />
                <ItemStyle HorizontalAlign="Center" VerticalAlign="Middle" Width="100px" />
            </telerik:GridTemplateColumn>
...
etc, etc

关于c# - 如何过滤 Telerik 的 RadGrid 的 GridTemplateColumns,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8039915/

相关文章:

c# - 在 asp.net 中存储用户相关数据的最佳位置在哪里?

c# - SynchronizationContext.Send 调用 Func 返回结果

c# - 如何在 XAML 中绘制分割数据绑定(bind)矩形?

c# - 将xml反序列化为对象报错

c# - 如何在 C# 中调用后立即返回字符串?

asp.net - ASP.NET 的机器 key 验证 key 的用途是什么

asp.net - 从 nopcommerce 中删除购物车功能

asp.net - 当我单击 RadGrid 导出到 Excel 的按钮时没有任何反应

c# - 如何检查 radComboboxItem 'CheckBox' ?

html - Telerik RadButton 更改选项卡/焦点/事件上的文本颜色