单击 Telerik 详细信息表中的 "NoFilter" 不会从文本框中删除表达式



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

在RadGrid中有一个。主表和明细表都启用了筛选,并且工作正常。当我尝试在 DetailTable 级别(使用"nofilter")菜单选项删除过滤器表达式时,过滤器表达式仍保留在文本框中。如何删除它?如果筛选请求发生在主表或详细信息表,我可以写入什么代码到标识?最后,我只想让过滤器文本框中的文本消失。

示例代码:

<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>

我想我解决了自己的问题。但我发现MasterTableView过滤器不需要这种额外的努力,因为当我选择"NoFilter"时,它会自动清除文本框值。这是一个已知的 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;
                }
            }
        }
    }

最新更新