1

動的に入力する wxGrid があります。ユーザーに表示してはいけない情報を各行に保存したいと思います。データを行に関連付ける最良の方法は何ですか? 非表示の列を作成するだけですか、それとももっと良い方法がありますか?

4

2 に答える 2

3

非表示の列を作成するのが最速ですが、実際には非常に醜い方法です。努力を正当化できるのであれば、独自のグリッド テーブル ベース クラスを作成することをお勧めします。独自のwxGridTableBase 派生クラスは、グリッドに表示する必要なく、必要な情報を保持できます。残念ながら、そのクラスのドキュメントはまばらであるか、ほとんど存在しません。

例については、wxWidgets サンプル ディレクトリのグリッド デモ、具体的にはBugsGridTableクラスを参照してください。グリッドに表示される文字列を必ずしも格納する必要はありませんが、GetValue()メソッドでデータをフォーマットできます。これは、メモリ消費の点でも、表示されるデータの形式をオンザフライで変更できるため、はるかに優れています。

カスタム グリッド テーブル ベース クラスへの切り替えは、Firebird リレーショナル データベースの管理ツールであるFlameRobinの結果セット データ グリッドの速度、メモリ消費、および機能に大きな影響を与えました。wxGrid の使用方法については、いつでもソース コードを確認できます。

于 2008-11-11T20:57:36.220 に答える
0

SetRowLabelValue を使用して行ラベルに値を格納し、行ラベルを非表示にします。

于 2015-04-08T12:23:06.293 に答える