- - PR -
コンボボックスのカラムを複数表示したい・・・
1
投稿者 | 投稿内容 | ||||||||
---|---|---|---|---|---|---|---|---|---|
|
投稿日時: 2004-07-13 22:30
VS.NET(C#)で開発しているのですが、
Accessのコンボボックスのように複数のカラムを表示したい (データセットのテーブルとリンクした!) のですが、VS.NETでは行えないのでしょうか? (当方初心者のため分かりませんでした) ここの掲示板の方々ならやられた方もいるかもしれないと思い 書込みしました。 どなたかご教授お願いします。 | ||||||||
|
投稿日時: 2004-07-14 01:39
未記入さん どうもです。
私も同じことで悩んでおります。 Microsoft Forms2.0 ComboBoxを使用すると出来そうなのですが、 配布に関する制限や、サポート問題もありやらないほうがよさそうです。 他に良い方法は無いものでしょうか? | ||||||||
|
投稿日時: 2004-07-14 08:48
ComboBoxのItemsプロパティですが、これのクラスはObjectCollectionです。つまり、Itemsプロパティに追加できるのはStringクラス(文字列)だけでなく、どんなクラスのものでも追加できるのです。
しかし、画面上に表示されるのは文字。いったいどうなっているんでしょうね? その仕掛けが、すべてのクラスの基底クラスであるObjectクラスにあります。.NET Frameworkのすべてのクラスは、Objectクラスから派生しています。Objectクラスにあるメソッドは、すべて持っているのです(注意)。そこでObjectクラスをよく見ると、ToStringメソッドというものを持っています。これの説明を見ると...
つまり、画面に表示されている文字は、Object.ToString()メソッドの戻り値である、ということです。 ということは、このメソッドをオーバーライドして、複数のカラムに分かれているような文字列を返すようにすれば、目的のことは達成できる、というわけです。 | ||||||||
|
投稿日時: 2004-07-14 10:52
Jitta殿 お返事ありがとうございます。
当方初心者であるため少し理解に苦しみました。 (勉強中なのでご容赦願います) どの様にすれば実装可能かもう少し調べてみようと思いますが、 開発に対する時間がなくて... 簡単に実装できる方法などがありましたらお教えいただけたらと思います。 | ||||||||
|
投稿日時: 2004-07-14 11:17
[quote]
gorisakuさんの書き込み (2004-07-14 10:52) より: 当方初心者であるため少し理解に苦しみました。 (勉強中なのでご容赦願います) どの様にすれば実装可能かもう少し調べてみようと思いますが、 開発に対する時間がなくて... 簡単に実装できる方法などがありましたらお教えいただけたらと思います。 [/quote] 実装は簡単です、アイテムのクラスに [code] public override string ToString () { return [i]返したい文字列[/i] } [/code] とすれば良いだけです 詳しくは キーワードverride ms-help://MS.VSCC.2003/MS.MSDNQTR.2003FEB.1041/csref/html/vclrfOverridePG.htm をお読み下さい。 オブジェクト指向をまだ理解できていないならば、 この機会にちゃんと勉強してはどうですか? 非常に役に立つものですよ。 http://www.atmarkit.co.jp/fdotnet/basics/oop_index/index.html |
1