在这种情况下,实际过滤绝对没有问题,但是,存在一个不会从文本框中删除表达式的修饰错误。
RadGrid中有一个。 Master和Detail表都启用了过滤功能,并且工作正常。当我尝试删除DetailTable级别的filterexpression(使用'nofilter')菜单选项时,过滤器表达式仍然存在于文本框中。我该如何删除?如果过滤请求来自mastertable或detailtable,我可以写什么代码来识别身份?最后,我只想让过滤器文本框中的文本消失。
示例代码:
<telerik:RadGrid ID="SomeGridView" runat="server">
<ClientSettings>
<ClientEvents OnFilterMenuShowing="FilterMenuShowing" />
</ClientSettings>
<Columns>
</Columns>
<DetailTables>
<telerik:GridTableView Name="Details">
<Columns>
<telerik:GridBoundColumn DataField="FieldName" HeaderText="Some Header" SortExpression="FieldName" UniqueName="FieldName" />
</Columns>
</telerik:GridTableView>
</DetailTables>
</telerik:RadGrid>
答案 0 :(得分:0)
我想我解决了自己的问题。
但我发现MasterTableView过滤器不需要额外的努力,因为当我选择&#34; NoFilter&#34;时它会自动清除文本框值。
这是一个已知的Telerik错误吗?
你可以在这里关注门票:
http://www.telerik.com/forums/clear-filter-expresssion-text-box-in-radgrid#me_BRg3iXUOgDucx47Wigg
protected void RadGridView_DetailTableDataBind(object sender, GridDetailTableDataBindEventArgs e)
{
GridDataItem dataItem = e.DetailTableView.ParentItem;
if (IsPostBack == true)
{
foreach (GridColumn thisColumn in e.DetailTableView.Columns)
{
if (thisColumn.CurrentFilterFunction == GridKnownFunction.NoFilter)
{
thisColumn.CurrentFilterValue = string.Empty;
}
}
}
}