none
DataGridViewの機能と値の取得について RRS feed

  • 質問

  • どうぞよろしくお願いします。

    データベースをAccessにして、フォームを開発しています。

    フォーム上に、DataGridViewを配置しました。自動的に列の名前がTextBoxColumnで、入力できる欄もTextBoxになっていますがこれをComboBoxにしてデバッグをしたら、エラー表示が出て、OKボタンを押しても消えなくてVB2005を強制終了しないとダメでした。商品名を入れる列に、ユーザーが選びやすいように商品名一覧を表示させるということはできないのでしょうか?

    上記のようにエラーになって大変だったので、DataGridViewの横に商品名一覧を表示するComboBoxを作りました。表示(DisplayMenmer)は商品名で、値(ValueMember)は商品コードにしています。このComboBoxでクリックした値を、DataGridViewの中の商品名列のカーソルのある位置に商品名を表示してデータベースには値を取得しようと思ったらどのようなコードを実行すれば良いのでしょうか?ヒントでも良いので教えてください。

     

    2006年10月19日 10:36

回答

  • DataGridViewComboBoxColumn に設定した際に発生した例外は何なのでしょうか。

    そちらが解決されれば、別の ComboBox も作らなくてすむので、処理もしやすいかと思います。

     

    表示されたエラー内容をできるだけそのまま見せていただきたいです。

    2006年10月19日 13:49
  • 返信ありがとうございます。

    エラーの表示は、

    「DataGridViewの既定のダイアログ」

    DataGridViewで次の例外が発生しました。DataGridViewComboBoxCellの値が有効ではありません。この既定のダイアログを置き換えるにはDataErrorイベントをハンドルしてください。

    となっています。「OK」ボタンを何回押しても消えなかったので、前回はあせって強制終了してしまいましたが、今回エラーを見るために同じことをしたら、デバッグを終了したらちゃんと消えました。

    この問題が解決できれば別にComboBoxを作らなくても良いかも、と思うとうれしいです。DataGridVeiwの表示は商品名で、取得する値は対応する商品コードとしたいのです。

    どうぞよろしくお願いします。

     

    2006年10月20日 2:44
  • ダッチさま、お返事ありがとうございました。

    色々調べていたところ、DataGridViewの該当する列のDataSourceプロパティを設定せずにデバッグしていたからだとわかりました。

    表示・値の取得ともにDisplayMemberプロパティとValueMemberを設定したら正常に動作しました。

    この度はお騒がせしてすみませんでした。初心者なのでまた質問があるかと思いますが、その際にはどうぞよろしくお願いします。

    2006年10月20日 8:57
  • あまりお役に立てなかったですね。

    次回はズバッと回答できるようにもっと勉強せねばなりませんと痛感いたしました。

    解決して何よりです。

    2006年10月20日 13:00

すべての返信

  • DataGridViewComboBoxColumn に設定した際に発生した例外は何なのでしょうか。

    そちらが解決されれば、別の ComboBox も作らなくてすむので、処理もしやすいかと思います。

     

    表示されたエラー内容をできるだけそのまま見せていただきたいです。

    2006年10月19日 13:49
  • 返信ありがとうございます。

    エラーの表示は、

    「DataGridViewの既定のダイアログ」

    DataGridViewで次の例外が発生しました。DataGridViewComboBoxCellの値が有効ではありません。この既定のダイアログを置き換えるにはDataErrorイベントをハンドルしてください。

    となっています。「OK」ボタンを何回押しても消えなかったので、前回はあせって強制終了してしまいましたが、今回エラーを見るために同じことをしたら、デバッグを終了したらちゃんと消えました。

    この問題が解決できれば別にComboBoxを作らなくても良いかも、と思うとうれしいです。DataGridVeiwの表示は商品名で、取得する値は対応する商品コードとしたいのです。

    どうぞよろしくお願いします。

     

    2006年10月20日 2:44
  • ダッチさま、お返事ありがとうございました。

    色々調べていたところ、DataGridViewの該当する列のDataSourceプロパティを設定せずにデバッグしていたからだとわかりました。

    表示・値の取得ともにDisplayMemberプロパティとValueMemberを設定したら正常に動作しました。

    この度はお騒がせしてすみませんでした。初心者なのでまた質問があるかと思いますが、その際にはどうぞよろしくお願いします。

    2006年10月20日 8:57
  • あまりお役に立てなかったですね。

    次回はズバッと回答できるようにもっと勉強せねばなりませんと痛感いたしました。

    解決して何よりです。

    2006年10月20日 13:00