2

次の問題があります。DevExpressを使用して、リストにバインドするようにXtraGridを設定したいと思います。

したがって、私はBindingListを取りました

private BindingList<string> aBindingList = new BindingList<string>();

背後のリストはLinqクエリで埋められました(ユーザーエントリが計算され、さらに処理するためにさまざまな結果がグリッドとして表示されます)。クエリの結果をバインディングリストに直接入れることができなかったため、

if (null != aStringList) aBindingList = new BindingList<string>(aStringList);

そして今、問題が現れました。XtraGridのデータソースとしてBindingListを使用し、正しいヘッダー名を使用したいと思います。

gridControlXtraGrid.DataSource = aBindingList ;

これは行を表示しますが、醜いヘッダー「列」を使用します。

DevExpress.XtraGrid.Views.Base.ColumnView aColumnView = gridControlXtraGrid.MainView as DevExpress.XtraGrid.Views.Base.ColumnView;
aColumnView.Columns[0].FieldName = "My Header";

ヘッダーを設定しますが、行は表示されなくなります。

gridControlXtraGrid.DataSource = aBindingList ;
DevExpress.XtraGrid.Views.Base.ColumnView aColumnView = gridControlXtraGrid.MainView as DevExpress.XtraGrid.Views.Base.ColumnView;
aColumnView.Columns[0].FieldName = "My Header";
gridViewExcludableProperties.PopulateColumns();

最後に、データ行が再び表示されますが、ヘッダーは表示されなくなります。

したがって、列ヘッダーを設定するか、行を表示することができます。

では、どうすれば両方を同時に設定できますか?

4

1 に答える 1

3

さて、他の誰かがこれを探しているなら:

aColumnView.Columns[0].Caption 

aColumnView.Columns [0] .FieldNameではなく、使用する必要があります

gridView.Rows [0] .HeaderCell.Value="いくつかの値"; 言葉遣いの通常のグリッドではるかに明確に見えた...

于 2012-12-06T08:41:19.637 に答える