- - PR -
コンボボックスに見出し(タイトル)を表示したい
1
投稿者 | 投稿内容 | ||||
---|---|---|---|---|---|
|
投稿日時: 2006-06-13 22:17
はじめまして。宜しくお願いします。
VB.NET2003で開発しています。 過去のスレッドを拝見させて頂いて 複数列のコンボボックスは作成できたのですが このコンボボックスに見出しを付けることは可能でしょうか? (Accessみたいな感じで。。。) 具体的には現状 001 |担当A 002 |担当B 003 |担当C と表示されるところを コード |名前 001 |担当A 002 |担当B 003 |担当C の様に表示したいのです。 どなたかご教授願います。 | ||||
|
投稿日時: 2006-06-13 22:45
今どのように行っているのかある程度のコードを見せてください。
Windowsアプリケーションですか?Webアプリケーションですか? _________________ 囚人のジレンマな日々 | ||||
|
投稿日時: 2006-06-13 23:35
Windowsアプリケーションです。
System.Windows.Forms.ComboBoxを継承したEditComboを作りました。 追加プロパティ ColumnCount --列数 ColumnWidth --列幅 列データを保持用 Public Class ItemList Public strData As String() Public Sub New(ByVal strData As String()) Me.strData = strData End Sub Public Overrides Function ToString() As String Return Me.strData(0) End Function End Class 後はDrawItemをオーバーライドしてドロップリストに描画しています。 これをフォームに配置しEditComboのプロパティを ColumnCount=2 ColumnWidth=100,100 DrowMode=OwnerDrawFixed DropDoenWidth=200 にし 実行時に Me.EditCombo1.Items.Add(New EditCombo.EditCombo.ItemList(New String() {"001", "担当A"})) Me.EditCombo1.Items.Add(New EditCombo.EditCombo.ItemList(New String() {"002", "担当B"})) ・ ・ Me.EditCombo1.Items.Add(New EditCombo.EditCombo.ItemList(New String() {"010", "担当J"})) の様にしています。 ドロップリストの1行目をスクロールしない様に出来れば、実現できるのではと考えております。 宜しくお願いします。 (読みづらいコードをづらづらと書いてしまったので修正させて頂きました。 これでもわかりづらいと思いますがご容赦願います) [ メッセージ編集済み 編集者: らもう 編集日時 2006-06-14 19:30 ] | ||||
|
投稿日時: 2006-06-14 21:01
ComboBox は Windows Form にしかありません。 Web Form なら、DropdownList になります。 VS7.1 までは、Windows Form も Web Form も DataGrid だったのですが、 VS8.0 で Windows Form は DataGridView、 Web Form では GridView になりました。 密かに「楽になった」と喜んでおります(笑) | ||||
|
投稿日時: 2006-06-20 17:35
解決ではないのですが、FormDesigner4.0を使うことになりました。
FormDesigner4.0の拡張コンボボックスで実現はできるのですが、 Validatingイベントが2回実行されたり、e.Cancelが利かない現象がでます。 FormDesignerコンボ→System.Windows.Forms.TextBoxをクリック コンボのValidatingでe.Cancel=TrueしているのにフォーカスはTextBoxへ。。。 (拡張テキストボックスを使ってないこと自体×なのか?) 使い方が間違っているのかもしれないので、もう少し調べてみます。 |
1