0

我正在使用 DevExpress 网格,并且正在尝试获取“国家/地区”列以正确显示标题过滤器:

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

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

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

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

4

1 回答 1

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>
于 2010-11-16T13:49:49.517 回答