C# と VB.NET の質問掲示板

わんくま同盟

ASP.NET、C++/CLI、Java 何でもどうぞ

C# と VB.NET の入門サイト


(過去ログ 65 を表示中)
■38164 / )  Re[5]: 値の消去(コンボボックス)
□投稿者/ Stand by me (5回)-(2009/07/08(Wed) 13:54:03)
●VB.Net Version 2002
起きた条件と現象
@コンボボックスが主キー順の場合。
・Me.cboFieldID.Text="" の場合。
Me.cboFieldID.Text:"既存の値"
Me.cboFieldID.SelectedValue:"既存の主キー値"
Me.cboFieldID.SelectedText:""(空白)
Me.cboFieldID.SelectedIndex:"既存の主キーインデックス(表示何件目か)"

・Me.cboFieldID.Text=Nothing の場合。
値が最初の主キー値でない場合。
Me.cboFieldID.Text:"最初のデータ" (空白)
Me.cboFieldID.SelectedValue:"最初の主キー値"
Me.cboFieldID.SelectedText:""
Me.cboFieldID.SelectedIndex:-1
値が最初の主キー値である場合。
Me.cboFieldID.Text:"" (空白)
Me.cboFieldID.SelectedValue:""(空白)
Me.cboFieldID.SelectedText:""(空白)
Me.cboFieldID.SelectedIndex:-1

・Me.cboFieldID.SelectedIndex=-1 の場合。
値が最初の主キー値でない場合。
Me.cboFieldID.Text:"最初のデータ" (空白)
Me.cboFieldID.SelectedValue:"最初の主キー値"
Me.cboFieldID.SelectedText:""
Me.cboFieldID.SelectedIndex:-1
値が最初の主キー値である場合。
Me.cboFieldID.Text:"" (空白)
Me.cboFieldID.SelectedValue:""(空白)
Me.cboFieldID.SelectedText:""(空白)
Me.cboFieldID.SelectedIndex:-1

Aコンボボックスが主キー順でなく他列の並び順の場合。
・Me.cboFieldID.Text="" のみの場合。
Me.cboFieldID.Text:"既存の値"
Me.cboFieldID.SelectedValue:"既存の主キー値"
Me.cboFieldID.SelectedText:""(空白)
Me.cboFieldID.SelectedIndex:"既存の主キーインデックス(表示何件目か)"

・Me.cboFieldID.Text=Nothing の場合。
値が最初の主キー値でない場合。
Me.cboFieldID.Text:"最初のデータ" (空白)
Me.cboFieldID.SelectedValue:"最初の主キー値"
Me.cboFieldID.SelectedText:""
Me.cboFieldID.SelectedIndex:-1
値が最初の主キー値である場合。
Me.cboFieldID.Text:"" (空白)
Me.cboFieldID.SelectedValue:""(空白)
Me.cboFieldID.SelectedText:""(空白)
Me.cboFieldID.SelectedIndex:-1

・Me.cboFieldID.SelectedIndex=-1 の場合。
値が最初の主キー値でない場合。
Me.cboFieldID.Text:"最初のデータ" (空白)
Me.cboFieldID.SelectedValue:"最初の主キー値"
Me.cboFieldID.SelectedText:""
Me.cboFieldID.SelectedIndex:-1
値が最初の主キー値である場合。
Me.cboFieldID.Text:"" (空白)
Me.cboFieldID.SelectedValue:""(空白)
Me.cboFieldID.SelectedText:""(空白)
Me.cboFieldID.SelectedIndex:-1

解決策
Me.cboFieldID.Text="" 却下
Me.cboFieldID.Text=Nothing を2回記述
Me.cboFieldID.SelectedIndex=-1 を2回記述
あるいは
Me.cboFieldID.Text=Nothing
Me.cboFieldID.SelectedIndex=-1

●VC.Net Version 2002
これのみだと、
コンボボックスの最初のデータが表示されます。
※主キー最小値でなく、Order Byで並べ替えされた場合の最初の値。

起きた条件と現象
@コンボボックスの並び順が主キー順でなかった。
A主キー値に0の数値が存在するとそこを表示してしまう。



●VC.Net
起きた条件と現象
@コンボボックスが主キー順の場合。
・this.cboFieldID.Text=""; の場合。
値が最初の主キー値でない場合。
this.cboFieldID.Text:"既存の値"
this.cboFieldID.SelectedValue:"既存の主キー値"
this.cboFieldID.SelectedText:""(空白)
this.cboFieldID.SelectedIndex:"既存の主キーインデックス(表示何件目か)"
値が最初の主キー値である場合。
this.cboFieldID.Text:"" (空白)
this.cboFieldID.SelectedValue:""(空白)
this.cboFieldID.SelectedText:""(空白)
this.cboFieldID.SelectedIndex:-1

・this.cboFieldID.Text=null; の場合。
値が最初の主キー値でない場合。
this.cboFieldID.Text:"最初のデータ" (空白)
this.cboFieldID.SelectedValue:"最初の主キー値"
this.cboFieldID.SelectedText:""
this.cboFieldID.SelectedIndex:-1
値が最初の主キー値である場合。
this.cboFieldID.Text:"" (空白)
this.cboFieldID.SelectedValue:""(空白)
this.cboFieldID.SelectedText:""(空白)
this.cboFieldID.SelectedIndex:-1

・this.cboFieldID.SelectedIndex=-1; の場合。
値が最初の主キー値でない場合。
this.cboFieldID.Text:"最初のデータ" (空白)
this.cboFieldID.SelectedValue:"最初の主キー値"
this.cboFieldID.SelectedText:""
this.cboFieldID.SelectedIndex:-1
値が最初の主キー値である場合。
this.cboFieldID.Text:"" (空白)
this.cboFieldID.SelectedValue:""(空白)
this.cboFieldID.SelectedText:""(空白)
this.cboFieldID.SelectedIndex:-1

Aコンボボックスが主キー順でなく他列の並び順の場合。
・this.cboFieldID.Text=""; のみの場合。
this.cboFieldID.Text:"既存の値"
this.cboFieldID.SelectedValue:"既存の主キー値"
this.cboFieldID.SelectedText:""(空白)
this.cboFieldID.SelectedIndex:"既存の主キーインデックス(表示何件目か)"

・this.cboFieldID.Text=null; の場合。
値が最初の主キー値でない場合。
this.cboFieldID.Text:"最初のデータ" (空白)
this.cboFieldID.SelectedValue:"最初の主キー値"
this.cboFieldID.SelectedText:""
this.cboFieldID.SelectedIndex:-1
値が最初の主キー値である場合。
this.cboFieldID.Text:"" (空白)
this.cboFieldID.SelectedValue:""(空白)
this.cboFieldID.SelectedText:""(空白)
this.cboFieldID.SelectedIndex:-1

・this.cboFieldID.SelectedIndex=-1; の場合。
値が最初の主キー値でない場合。
this.cboFieldID.Text:"最初のデータ" (空白)
this.cboFieldID.SelectedValue:"最初の主キー値"
this.cboFieldID.SelectedText:""
this.cboFieldID.SelectedIndex:-1
値が最初の主キー値である場合。
this.cboFieldID.Text:"" (空白)
this.cboFieldID.SelectedValue:""(空白)
this.cboFieldID.SelectedText:""(空白)
this.cboFieldID.SelectedIndex:-1


解決策
this.cboFieldID.Text=""; 却下
this.cboFieldID.Text=null; を2回
this.cboFieldID.SelectedIndex=-1; を2回
あるいは、
this.cboFieldID.Text=Nothing;
this.cboFieldID.SelectedIndex=-1;

No38014 (stand By Me さん) に返信
> 返信いたします。
> VB.Netでは再度検証後、起きないことが確認できています。
> ですが、
> C#.Netではその現象が一部起きています。
> 動的に値リストを表示しているものに関しては、
> 値が選択されていない場合は起きず、選択済の場合に
> その現象が起きているようです。
> が、まだ検証を続けます。
> 本日は一時中断します。
> ありがとうございます。
>
>
> ■No38010 (やじゅ さん) に返信
>>■No38003 (Stand by me さん) に返信
> >>>this.cboFieldID.SelectedIndex = -1; とか
> >>実は・・・そこで悩んでいるのですが、
> >>コンボボックスを動的にデータベースのテーブルの値を表示してるのですが、
> >>this.cboFieldID.SelectedIndex = -1;
> >>だと、値リストの一番最初のデータを表示してしまいます。
>>
>>そうはならないはずですが・・・
>>コードを提示してみてはどうでしょう?
返信 編集キー/


管理者用

- Child Tree -