0

データベースのデータにバインドされた UltraGrid があります。
グリッドがバインドされているデータ セットが空の場合があります。
この場合、ヘッダーは通常どおりグリッドの上部に表示され、行は表示されません。
ユーザーがグリッドを転置して、行を列として表示したい場合は、このコードにバインドされたボタンをクリックします。

grid.Rows.Band.CardView = true;  

これは、データセットが空の場合を除き、すべての場合にうまく機能します。
データ セットにデータがない場合、ヘッダーは表示されなくなります。

空のデータセットでヘッダーを強制的にそこに残すにはどうすればよいですか?

これまでのところ、グリッドまたはバンドのプロパティをいじって、それらを強制的に表示したままにしてみましたが、うまくいきませんでした。
回避策として、空の行をグリッドに追加できることもわかりました。ただし、最善の努力にもかかわらず、行をユーザーから隠すことができなかったため、これは望ましくありません。行の Hidden プロパティを true に設定すると、グリッドのヘッダーが非表示になります。

これは私が見つけた唯一の同様の問題ですが、残念ながらうまくいきませんでした。

4

2 に答える 2

1

私の知る限り、空のデータセットがグリッドにバインドされている場合、グリッドが表示するオブジェクトのタイプ (つまり、列) を知る方法はありません。あなたの空のコレクションがこの情報を提供するなら、うまくいくと思います。

これを行う 1 つの方法 (私が使用したように) は、カスタム コレクションを実装することです。これは、ITypedList インターフェイスを介して、バインドされたアイテムのプロパティを (PropertyDescriptor として) グリッドのテンプレートとして公開します。thisまたはthisに似たもの。

于 2012-12-01T19:12:26.603 に答える