■99443 / ) |
Re[1]: コンボボックスの表示方法 |
□投稿者/ 魔界の仮面弁士 (3313回)-(2022/04/12(Tue) 15:14:50)
|
■No99440 (TA さん) に返信 > デバックで確認した所、 デバックではなく デバッグですよ。
bug (バグ) を取り除くので debug (デバッグ)。
> cboBoxに00、30を規定値で設定をしていますが、 規定値 (specified value) ではなく 既定値 (default value) かな。
> デバックで確認した所、コンボボックスにはデータの設定(例のデータだと"01")はされています。 ドロップダウンリストのアイテムに "01" が存在する状態でしょうか。 それともリストには無く、テキスト部にのみ "01" がある状態でしょうか。
> コンボボックスのプロパティでDropDownStyleにDropDownの設定をしていますが、 DropDownList ではなく、DropDown なのですね。
DropDown の場合は、テキストとリストは独立しており、 テキスト部の内容がリストにある内容と同一であったとしても SelectedIndex が -1 になりえる点にご注意を。
> データベースよりデータ取得時、00、30以外のデータがあり、 > 00、30以外のデータをコンボボックスに表示したいのですが、 登録されているアイテムは、すべて String 型のデータなのですね?
一見すると .Items.Add(30) と .Items.Add(30.0) と .Items.Add("30") は、 いずれも見た目では同じですが、型が異なるがために 処理する上で差異が生じることがあります。
> Me.cboBox.Text = VB6.Format(datTemp, "nn") ''分 例"01"の設定が行われる
やりたいことは、次のうちどれでしょうか。
(1) ComboBox のリスト部に "01" というデータが既にあることは分かっており、それが選択された状態にしたい。 (2) ComboBox のリスト部に "01" があれば選択し、無ければ何も選択されていない状態にしたい。 (3) ComboBox のリスト部に "01" があれば選択し、無ければテキスト部に "01" が記載された状態にしたい。 (4) ComboBox のリスト部に "01" が無ければ追加し、かつ "01" が選択された状態にしたい。
Public Class Form1 Private Sub Form1_Load(sender As Object, e As EventArgs) Handles MyBase.Load ComboBox1.Items.AddRange(New Object() {"", "00", "01"}) ComboBox2.Items.AddRange(New Object() {"", "00"}) ComboBox3.Items.AddRange(New Object() {"", "00"}) ComboBox4.Items.AddRange(New Object() {"", "00"}) ComboBox5.Items.AddRange(New Object() {"", "00", "01", "02"}) End Sub
Private Sub Button1_Click(sender As Object, e As EventArgs) Handles Button1.Click ComboBox1.SelectedItem = "01" ComboBox2.SelectedItem = "01" Dim idx = ComboBox3.FindStringExact("01") ComboBox3.SelectedIndex = If(idx >= 0, idx, ComboBox3.Items.Add("01")) ComboBox4.Text = "01" ComboBox5.Text = "01" End Sub End Class
|
|