よく、間違うのでメモメモ。
以下、自分用のメモなので見づらいかもしれませんがすみません。
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になっているので注意が必要です。
以下、参考にしたリソースです。
- unbound PropertyGrid, enable edit of values
- bestfit
- VGridControl doesn't have BestFitColumns method
- Auto Size / Fill Width