我尝试使用此代码从位于Grid外部的外部radcombox过滤radgrid . 我有一个问题 . Visual Studio调试器和SQL事件探查器显示此代码工作并使用正确的过滤器值发送到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代码与combox设置:
<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"
>
1 回答
您必须自定义以下代码以符合您的要求 . 我在这里给你一个方法 .
在我的情况下,我需要将组合框中的名称列表添加到网格中 .
名称存储在emp表中 . 网格的数据存储在联系人表中 . 当我选择名称并点击添加时,会将emp名称添加为联系人 .
以下是我的aspx .
在C#代码中执行此操作 .
为您的网格添加需求数据源 .