0

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

これは既知のバグですか?回避策はありますか?

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 に答える