【问题标题】:radGrid filtering doesn't workradGrid 过滤不起作用
【发布时间】:2013-05-30 12:30:15
【问题描述】:

这是我的 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 和一个用于搜索和过滤 grdMain Grid 的按钮。

<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();
    }

但是在我的网格中过滤不起作用。我在这里缺少什么?

【问题讨论】:

    标签: asp.net telerik filtering radgrid


    【解决方案1】:

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

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

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

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

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

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

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

    仅当在 RadGridMasterTableView 上设置 AllowFilteringByColumn 时才需要。

    1. 重新绑定

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


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

    【讨论】:

      【解决方案2】:

      您必须添加 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>
      

      【讨论】:

        【解决方案3】:

        我认为你应该看看 Telerik 论坛。

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

        【讨论】:

          猜你喜欢
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 2010-11-15
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 2011-05-01
          相关资源
          最近更新 更多