- - PR -
【VB.Net Windows】CheckBox.Checked = True の設定がされません。
1
投稿者 | 投稿内容 | ||||
---|---|---|---|---|---|
|
投稿日時: 2008-12-24 11:28
【状況説明】
WindowsXP、VB2005EE Access2003 でWindowsアプリケーションを開発中です。 単純な名簿を作成しています。法人用フォームと個人用フォームがあり、個人フォームの場合は区分フィールド (Boolean)を下のようにフィルターに掛けてフォームの右側にListBoxで氏名をリスト表示しています。 −−> 名簿BindingSource.Filter = "区分 = True" このListBoxから名前を選択して、選択した人の詳細内容を名簿BindingSourceにバインドした各種の コントロールでフォームの左側に表示させています。 また、この画面の左下に[新規作成]ボタンを配置して、イベントハンドラを次のように記述しています。 ※主キー(ID)のコード体系はA-000、 A-001等となっています。
【質問内容】 上記の内容で名簿閲覧や新規作成は正常に動作していますが、区分フィールドのTrueだけが設定されません。 [新規作成]ボタンを押すとCheckBox_区分にチェックが入り新規作成画面が表示されますが[登録]ボタンで登録 しても区分フィールドはFalseとなっていてTrueが設定されていません。(その他の項目は正常に登録されます) ところがCheckBox_区分をマウスでクリックしてTrueに設定してから登録すると正常(True)に登録されています。 ちなみにこの画面にありましたCheckBox_既婚(既婚フィールドとバインド)に対しても同じように次のような コードを加え、登録すると既婚フィールドには正常(True)に登録されます。 −−> CheckBox_既婚.Checked = True 念のためにCheckBox_既婚をコピーしてCheckBox_区分を作成しなおしましたが結果は同じでした。 画面Load時のフィルター(BindingSource.Filter = "区分 = True")や主キーに関連しているのでしょうか よろしくご教示下さい。 追加修正:[新規作成]ボタンを押すと・・以降3行追加 [ メッセージ編集済み 編集者: One.net 編集日時 2008-12-24 13:45 ] [ メッセージ編集済み 編集者: One.net 編集日時 2008-12-24 15:10 ] | ||||
|
投稿日時: 2008-12-25 17:33
スレッド主の One.net です。
自己回答します。やはり個人用フォームのLoad時に次のようにフィルターを掛けていたのが問題だったようです。
この2行目を削除すると[新規作成]ボタンを押して、次のコードで正常に区分フィールドにTrueが登録されました −−> CheckBox_区分.Checked = True フィルターの代わりに名簿TableAdapter.Fillで"区分 = True"SELECT してを使いました。 以上、はっきりした原因はわかりませんが、解決しました。大変お騒がせしました。 |
1