如果最初隐藏列,则Devexpress网格 - 标题过滤器不起作用

时间:2010-11-16 09:38:08

标签: devexpress aspxgridview

我正在使用DevExpress网格,而我正试图让“国家/地区”列正确显示标题过滤器:

<dx:GridViewDataColumn Caption="Country" FieldName="CountryName" 
    ShowInCustomizationForm="True" Visible="false">
    <Settings AllowHeaderFilter="True"/>
</dx:GridViewDataColumn>

如果“Country”列设置为Visible ='true',则显示标题过滤器(它显示值选项列表)。但是,我希望“国家/地区”列最初是隐藏的,但可以在“自定义”窗口中使用(如上面的代码中所示)。在这种情况下,当列被拖动到“自定义”窗口之外并进入网格并单击标题过滤器时,会遇到Javascript错误:

元素为null element.addEventListener(eventName,func,true);

这是一个已知的错误吗?有没有解决方法?

1 个答案:

答案 0 :(得分:0)

将ASPxGridView.Settings.ShowHeaderFilterButton属性设置为true以解决此问题。

以下标记对我来说很好(我正在使用DXperience 10.1.7):

<asp:AccessDataSource ID="AccessDataSource1" runat="server" DataFile="~/App_Data/nwind.mdb"
    SelectCommand="SELECT * FROM [Categories]"></asp:AccessDataSource>
<dx:ASPxGridView ID="ASPxGridView1" runat="server" AutoGenerateColumns="False" ClientInstanceName="grid"
    DataSourceID="AccessDataSource1" KeyFieldName="CategoryID">
    <SettingsCustomizationWindow Enabled="True" />
    <Columns>
        <dx:GridViewDataTextColumn FieldName="CategoryID" ReadOnly="True" VisibleIndex="0">
            <EditFormSettings Visible="False"/>
            <Settings AllowHeaderFilter="False" />
        </dx:GridViewDataTextColumn>
        <dx:GridViewDataTextColumn FieldName="CategoryName" Visible="False" VisibleIndex="1">
            <Settings AllowHeaderFilter="True" />
        </dx:GridViewDataTextColumn>
        <dx:GridViewDataTextColumn FieldName="Description" VisibleIndex="2">
        <Settings AllowHeaderFilter="False" />
        </dx:GridViewDataTextColumn>
    </Columns>
    <Settings ShowHeaderFilterButton="True" />
</dx:ASPxGridView>