- - PR -
コンボボックスのコード保持について
1
投稿者 | 投稿内容 | ||||
---|---|---|---|---|---|
|
投稿日時: 2007-07-17 11:12
いつも参考にさせていただいています。
コンボボックスにDBからselectしたemployeeNameとemployeeCodeをデータセットに 格納しています。 クラスを作成し、employeeNameとemployeeCodeを保持し、 コンボボックスにはemployeeNameだけを表示させるようにすることで、 updateやinsertするようにしています。 いろいろ悩んで、下記のようなコードで実現させたのですが、 CmdEditorクラスのItems.Addで何が格納されているのか、 GetNameクラスのToString()メソッドがどのタイミングで発生しているのか、 よく分かりません。 動いているんですけど、中身が分かっていないと、 後々困ることも多いので、質問させていただきました。
| ||||
|
投稿日時: 2007-07-17 11:58
(1) CmdEditorクラスのItems.Addで何が格納されているのか
→ GetNameクラスのインスタンス。 .NETではComboBoxの要素としてオブジェクトなら何でも指定できます。 (2) GetNameクラスのToString()メソッドがどのタイミングで発生しているのか → .NETではComboBoxの要素としてオブジェクトなら何でも指定できますが、 そうするとコンボボックスの表示上にはその項目をどう表示すればいいのか困りますよね。 そこでデフォルトではObjectであれば確実に存在するToStringメソッドの戻り値を 表示名称に使用すると決まっています。 この辺は、ComboBoxのDisplayMember、ValueMemberプロパティでカスタマイズできます。 <追記> KIさんよりご指摘。 >書いている間によねKENさんに先を越されましたが、 >.NET の ComboBox の話ではありませんよね。 思いっきりComboBoxだと思って書いてしまいましたorz。 原理はおそらく標準のComboBoxに似せたものだろうとは思いますが、 El Tabelle の話なら、そのヘルプを確認しないとわかりませんね。 </追記> [ メッセージ編集済み 編集者: よねKEN 編集日時 2007-07-17 13:02 ] | ||||
|
投稿日時: 2007-07-17 12:03
回答ではありません。
質問するときは環境を書かないと回答する人も混乱しますよ。 いきなり ComboBoxEditor とか出されても… 検索してみたところ GrapeCity の El Tabelle の話のようですが。 そうならそう書きましょう。 サードパーティ製のライブラリですから、回答できる人も限られますので、 件名に El Tabelle と書いておいたほうがよいかも知れません。 私は使ったことないので、回答はパスします。 .NET の標準の ComboBox と動作原理は同じっぽいので、 回答できなくもなさそうですが… 書いている間によねKENさんに先を越されましたが、 .NET の ComboBox の話ではありませんよね。 | ||||
|
投稿日時: 2007-07-17 13:01
GrapeCity社のEl TabelleはMultiRowのみ利用したことがありますけど、
ComboBoxの動作は.Netの標準ComboBoxと似ているモノです。 Items関連がまさにそれで、Addするときは標準ComboBoxと同様に インスタンスを放り込むことができますが、 Itemsから取得する際にはStringになって戻ってきます。 これはEl Tabelleの拡張ComboBoxでも同じでした。 最新のSP4環境では未確認ですけど。 | ||||
|
投稿日時: 2007-07-17 15:44
よねKENさん、KIさん、Ahfさん
レスありがとうございました。 また、El TabelleのComboboxの話だと記述していないくて申し訳ありませんでした。 ただ、皆さんからご教授いただいたおかげで、標準のコンボボックスの仕様に関しては理解することが出来ましたので、標準との違いという視点で、El Tabelleのヘルプを見たり、問合せをしたりしようと思います。 ありがとうございました。 |
1