单击Telerik DetailTables中的“NoFilter”不会从TextBox中删除表达式

时间:2015-03-06 18:54:18

标签: c# telerik radgrid

在这种情况下,实际过滤绝对没有问题,但是,存在一个不会从文本框中删除表达式的修饰错误。

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>

1 个答案:

答案 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;
                }
            }
        }
    }