いろいろ備忘録日記

主に .NET とか Go とか Flutter とか Python絡みのメモを公開しています。

DevExpress奮闘記-032 (VGridControlとPropertyGridControlに関するもろもろ)(VGridControlBase, UnboundMode, LayoutStyle)


よく、間違うのでメモメモ。
以下、自分用のメモなので見づらいかもしれませんがすみません。


VGridControlとPropertyGridControlはどちらもVGridControlBaseを親とするコントロールですが
それぞれ少し出来る事が異なります。

  • PropertyGridControlではUnboundModeが利用できない。

PropertyGridControlはBound専用コントロールです。EditorRowやCategoryRowは好きに作成できますが
必ず、FieldNameを指定する必要があります。もちろん必ずSelectedObjectもしくはSelectedObjectsを指定する
必要があります。(でも、コード上ではVGridControlと同じ形態をとるので、UnboundTypeやValueなどのプロパティも
指定できますが、何も反応しません。これが間違えやすいです。)

  • VGridControlのBestFitメソッドはLayoutStyleの値によって動きが異なる。

VGridControl.BestFitメソッドは、LayoutStyleプロパティの値によって動作が異なります。具体的には
デフォルトの値となっているLayoutStyle.MultiRecordViewでは、RowHeaderしか幅が最適化されません。
つまり、値の部分の幅はそのままになってしまいます。LayoutStyle.SingleRecordViewの場合はちゃんと
どちらも幅が最適化されます。BandsViewの場合は以下のプロパティをtrueにしておく必要があります。

VGridControl.OptionsView.AutoScaleBands
  • PropertyGridControlではLayoutStyleの設定は出来ない。

当たり前ですが、強制的にLayoutStyle.SingleRecordViewとなります。つまり幅の最適化に関しては
気になくても大丈夫。(BestFitすれば綺麗に整えてくれます。)


どちらも似ているコントロールなので、違いに注意が必要ですね。
特にVGridControlのLayoutStyleの値がデフォルトでMultiRecordViewになっているので注意が必要です。


以下、参考にしたリソースです。