Devexpress grid - фильтр заголовка не работает, если столбец изначально скрыт - PullRequest
0 голосов
/ 16 ноября 2010

Я использую сетку DevExpress и пытаюсь получить столбец «Страна» для правильного отображения фильтра заголовка:

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

Если для столбца «Страна» установлено значение Visible = «true», тогда фильтр заголовка отображается так, как должен (он показывает список значений). Однако я хочу, чтобы столбец «Страна» был изначально скрыт, но доступен в окне настройки (как в коде выше). В этом случае при перетаскивании столбца за пределы окна настройки в сетку и нажатии фильтра заголовка возникает ошибка Javascript:

элемент равен нулю element.addEventListener (eventName, func, true);

Это известная ошибка? Есть ли обходные пути?

1 Ответ

0 голосов
/ 16 ноября 2010

Установите для свойства 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>
...