- - PR -
ComboBoxの設定、取得制御
投稿者 | 投稿内容 | ||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|
|
投稿日時: 2006-04-04 18:51
こんにちは。つくしといいます。
--環境-------------------- API:C# OCX:Inputman for .NET3.0 IDE:VS2003 DB:Oracle9.2i -------------------------- 説明の便宜上 System.Windows.Forms.ComboBoxを"WinCombo" GrapeCity.Win.Input.Comboを"GraCombo" 特定しないときは、"ComboBox"としてます。 ComboBoxへのDataSourceのバインド、 選択項目の取得処理を行っています。 実装していて、面倒に感じることがあり、機能として提供されて いるかもと思い、投稿させていただきました。 2つあります。 1.スペース項目の追加有無の制御は、プロパティなどでないのでしょうか? ComboBox.DataSource = DataSet ComboBox.DisplayMember = "商品名" ComboBox.ValueMenber = "商品CD" このようにバインドすると、空項目がなく、一度選択をすると、 未選択状態に戻すことができなくなります。 空項目を追加するには、自分でAddしておくしかないのでしょうか? 2.GraComboには、WinComboのSelectedValueのような機能はないのでしょうか? GraComboを使っていて、選択されたValueMember値を取得する方法がよくわから なくて困っています。 以上、2点です。 宜しくお願いします。 | ||||||||||||
|
投稿日時: 2006-04-04 19:05
これは空の要素を Add するしかないです。
CellType からキャストできませんでしたっけ? でも、GraComboBox は状態が取得できなかったような気がします。 _________________ C# と VB.NET の入門サイト じゃんぬねっと日誌 | ||||||||||||
|
投稿日時: 2006-04-04 19:47
じゃんぬねっとさん、早速のご回答ありがとうございます。
----------------------------------------------- じゃんぬねっとさんの書き込み (2006-04-04 19:05) より: つくしさんの書き込み (2006-04-04 18:51) より: 1.スペース項目の追加有無の制御は、プロパティなどでないのでしょうか? これは空の要素を Add するしかないです。 ----------------------------------------------- わかりました。スペース項目の有無を引数にするような 関数を作り対応したいと思います。 ----------------------------------------------- 2.GraComboには、WinComboのSelectedValueのような機能はないのでしょうか? GraComboを使っていて、選択されたValueMember値を取得する方法がよくわからなくて困っています。 CellType からキャストできませんでしたっけ? でも、GraComboBox は状態が取得できなかったような気がします。 ----------------------------------------------- SelectedIndex >= 0 を判定し、選択有無をみてます。 いまは、次のように処理してます。 if(GraComboBox.SelectedIndex >= 0){ string val = GraComboBox.SelectedItem.Value.ToString(); } なんか自分だけ面倒なことをやっているのかなぁと不安になってます。 アドバイス宜しくお願いします。 PS.引用がうまくできず、みにくくなりすいません。。 | ||||||||||||
|
投稿日時: 2006-04-04 22:01
Value 要素を見たいのであれば、これが正しいでしょう。 アイテムの Value を System.String にしているだけですし。
[quote] 〜[/quote] で括れば良いです。 _________________ C# と VB.NET の入門サイト じゃんぬねっと日誌 | ||||||||||||
|
投稿日時: 2006-04-04 22:05
comboBox を継承した、ユーザコントロールを作成し、HasBlank などというプロパティで設定できるようにすればいいです。 | ||||||||||||
|
投稿日時: 2006-04-04 22:37
[quote]
じゃんぬねっとさんの書き込み (2006-04-04 22:01) より:
Value 要素を見たいのであれば、これが正しいでしょう。 アイテムの Value を System.String にしているだけですし。
じゃんぬねっとさん、ご回答ありがとうございます。 ご連絡おそくなりすいません。 | ||||||||||||
|
投稿日時: 2006-04-04 22:43
Jittaさんご回答ありがとうございます。 GrapeCityのComboBoxをそのまま使っての実装を予定してたので、 現時点ではカスタムコントロールでの対応は考えてませんでした。 ただ、Comboboxは、Frameworkにて提供されているコントロールを 使用することも検討しようと思います。 その際は、カスタムコントロールの作成を行いたいと思います。 HasBlankのような機能は、いつも必要に感じてます。 ほかにも0づめフォーマット機能など。。。 GrapeCityのコントロールで実装してないということは、 私が感じてるようなニーズがないということなのかな。。。 | ||||||||||||
|
投稿日時: 2006-04-05 07:27
ごめんなさい。 Spread for .NET 内の ComboBox だと勘違いしておりました。
InputMan 系のコントロールには実装されている記憶がありますけどね。 自分でやるにしてもそんなに手間ではないですよ > ライブラリ _________________ C# と VB.NET の入門サイト じゃんぬねっと日誌 |