DOBON.NETプログラミング道掲示板
(現在 過去ログ5 を表示中)

[ 最新記事及び返信フォームをトピックトップへ ]

■35034 / inTopicNo.1)  DataGridViewの列にコンボボックスを表示する
  
□投稿者/ Inoue 一般人(1回)-(2022/04/29(Fri) 14:40:17)
  • アイコン環境/言語:[windws10 VB.net] 
    分類:[.NET] 

    DataSourceプロパティを使用した例を試した結果
    以下のようなエラーダイアログが表示されます。

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

    どのような原因が考えられるでしょうか?
引用返信 削除キー/
■35035 / inTopicNo.2)  Re[1]: DataGridViewの列にコンボボックスを表示する
□投稿者/ 魔界の仮面弁士 大御所(1421回)-(2022/04/29(Fri) 15:45:30)
  • アイコンNo35034に返信(Inoueさんの記事)
    > 「DataGridViewで次の例外が発生しました:
    > System.FormatException: DataGridViewComboBoxCellの値が有効ではありません
    > この規定のダイアログを置き換えるには、DataErrorイベントをハンドルしてください。」
    >
    > どのような原因が考えられるでしょうか?
    ドロップダウンの内容は、バインドしたデータ内から選択されるわけですが、
    DataGridView の該当セルのデータが、コンボボックス列のアイテム一覧に
    存在しなかった場合、アイテムを選べないためにそのようなエラーが出ます。

    まずはデータを見直すことから始めるべきですが、不一致時に対応したい場合は
    エラーメッセージにも書かれているように、『DataError イベント』を実装し、
    入力をキャンセルするなり独自のエラー処理に差し替えることができます。

    https://dobon.net/vb/dotnet/datagridview/dataerror.html

    編集可能なコンボボックス(DropDownList→DropDown)が必要な場合はこんな感じ。
    http://dobon.net/vb/dotnet/datagridview/comboboxdropdownstyle.html
引用返信 削除キー/
■35036 / inTopicNo.3)  Re[2]: DataGridViewの列にコンボボックスを表示する
□投稿者/ Inoue 一般人(2回)-(2022/04/30(Sat) 11:16:03)
  • アイコンNo35035に返信(魔界の仮面弁士さんの記事)
    ありがとうございました。
    作成してバインドする列のデータタイプが違ってました。
    昨日1日悩んでいた問題が無事解決できました。
    感謝です!

解決み!
引用返信 削除キー/



トピック内ページ移動 / << 0 >>

このトピックに書きこむ

過去ログには書き込み不可

Mode/  Pass/


- Child Tree -