【发布时间】:2018-04-27 07:41:00
【问题描述】:
我尝试使用此代码从位于网格外部的外部 radcombox 中过滤 radgrid。我有一个问题。 Visual Studio 调试器和 SQL Profiler 显示此代码有效,并将正确的过滤器表达式与正确的过滤器值一起发送到 radgrid。但是 radgrid 在重新绑定时不会使用此表达式过滤数据。它在重新绑定后显示所有数据而不进行任何过滤。我该如何解决?这是我的 C# 代码:
protected void RadComboBox1_SelectedIndexChanged(object sender, RadComboBoxSelectedIndexChangedEventArgs e)
{
radgrid.MasterTableView.FilterExpression = "[service_id] LIKE '%" + ddlService.SelectedValue + "%' ";
GridColumn column = radgrid.MasterTableView.GetColumnSafe("serv_id");
column.CurrentFilterFunction = GridKnownFunction.EqualTo;
column.CurrentFilterValue = ddlService.SelectedValue;
column.AndCurrentFilterFunction = GridKnownFunction.EqualTo;
radgrid.MasterTableView.Rebind();
}
这是我的带有组合框设置的 ASPX 代码:
<telerik:RadComboBox ID="ddlService" runat="server" Height="200" Width="240"
DropDownWidth="310" DataSourceID="dsServices"
EmptyMessage="- Select Product -"
HighlightTemplatedItems="true" CausesValidation="false"
Filter="Contains" AppendDataBoundItems="true"
onselectedindexchanged="RadComboBox1_SelectedIndexChanged"
SelectedValue='<%# radgrid.MasterTableView.GetColumn("serv_id").CurrentFilterValue %>'
AllowCustomText="true" AutoPostBack="true" DataTextField="service_name" DataValueField="id"
>
【问题讨论】: