C# 如何过滤Telerik的GridTemplateColumns';s雷达栅格

C# 如何过滤Telerik的GridTemplateColumns';s雷达栅格,c#,asp.net,telerik,filtering,radgrid,C#,Asp.net,Telerik,Filtering,Radgrid,我的RadGrid中有两个GridTemplateColumns。默认筛选不适用于我,我想更改它 GridTemplateColumns如下所示: <telerik:GridTemplateColumn FilterControlAltText="Filter Online column" HeaderText="Online" UniqueName="Online"> <ItemTemplate> <asp:CheckBox ID=

我的
RadGrid
中有两个
GridTemplateColumn
s。默认筛选不适用于我,我想更改它

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

文件大小字符串类似于(213435)->这个数字显示的是字节。FileSizeChange类似(231MB)/


如何为
联机
文件大小更改
GridTemplateColumn
s编写筛选

因为这是您正在手动构建的ItemTemplate,所以需要手动筛选。请参阅Telerik文档的本页:

要在模板列上使用筛选,您需要设置数据字段,并将该数据字段添加到DataKeyName中

例如:


...
等等等等

如果需要对项目模板列进行筛选,请确保在项目模板列上设置以下属性:

DataField=“FileSize”
AllowFiltering=“true”
AutoPostBackOnFilter=“true”
DataType=“System.String”

如果要隐藏过滤器功能图标,这两个选项是可选的:
ShowFilterIcon=“false”
CurrentFilterFunction=“包含”

还要确保在radgrid上启用了过滤功能

这里有一个关于它的好帖子:

<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