0

这是我的 Telerik RadGrid 代码

 <telerik:RadGrid ID="grdMain" runat="server" AllowPaging="True"  
 AutoGenerateColumns="False" CellSpacing="0" EnableLinqExpressions="False"
 GridLines="None" PageSize="15"  AllowSorting="true"
 OnNeedDataSource="grdMain_NeedDataSource" 
 >

我有一个文本框txtSearch和一个按钮来搜索和过滤grdMainGrid 。

<telerik:RadButton ID="RadButton1" runat="server" Text="Search"
OnClick="search_Click" > 
</telerik:RadButton>

这是我的点击事件

  protected void search_Click(object sender, EventArgs e)
    {

  grdMain.MasterTableView.FilterExpression = "([ColumnOne] = '" + txtSearch.Text + "')";  
  grdAirLine.Rebind();
    }

但是在我的 Grid 中过滤不起作用。我在这里想念什么?

4

3 回答 3

0

在代码隐藏中应用过滤器。

要在后面的代码中应用过滤器,您需要 3* 个东西:
3*:有时只有 2 个。

  1. 设置过滤器过滤器表达式

     grdMain.MasterTableView.FilterExpression = "([ColumnOne] = '" + txtSearch.Text + "')";
    

    这是网格将过滤的表达式。

  2. 设置您的列当前过滤器
    仅适用于您的列标题中的过滤器显示。这仅用于显示将来的过滤器。但是,必须设置此选项,否则网格将忽略任何过滤器表达式。

    GridColumn column = RAD_Grid.MasterTableView.GetColumnSafe("ColumnOne");
    column.CurrentFilterFunction = GridKnownFunction.EqualTo;
    column.CurrentFilterValue = txtSearch.Text;
    

RadGrid仅当在您的or上设置 AllowFilteringByColumn 时才需要MasterTableView

  1. 重新绑定

重新绑定您更新过滤器的网格。如果您正在使用nestedGrid,则有时需要重新绑定父网格或每个父网格。


重新绑定正确的网格后,问题代码应该可以工作。

于 2016-12-20T13:02:48.240 回答
-1

您必须添加 ajax 管理器和加载面板,这就是 RadGrid 过滤结果的方式。

前任:

<telerik:RadAjaxManagerProxy ID="RadAjaxManagerProxy" runat="server">
    <AjaxSettings>
        <telerik:AjaxSetting AjaxControlID="grdMain">
            <UpdatedControls>
                <telerik:AjaxUpdatedControl ControlID="grdMain" LoadingPanelID="RadAjaxLoadingPanelGrid" />
            </UpdatedControls>
        </telerik:AjaxSetting>
    </AjaxSettings>
</telerik:RadAjaxManagerProxy>
<telerik:RadAjaxLoadingPanel ID="RadAjaxLoadingPanelGrid" runat="server" Height="75px"
    Skin="Office2007" Width="75px">
</telerik:RadAjaxLoadingPanel>
于 2013-05-30T21:00:02.697 回答
-2

我认为您应该查看 Telerik 论坛。

这是类似的问题。 http://www.telerik.com/community/forums/aspnet-ajax/grid/radgrid-with-filtering-not-working.aspx

于 2013-05-30T13:52:35.277 回答