DOBON.NETプログラミング道掲示板

ツリー一括表示

Nomalアイコン DataGridViewの列にコンボボックスを表示する /Inoue (22/04/29(Fri) 14:40) #35034
Nomalアイコン Re[1]: DataGridViewの列にコンボボックスを表示する /魔界の仮面弁士 (22/04/29(Fri) 15:45) #35035
  └Nomalアイコン Re[2]: DataGridViewの列にコンボボックスを表示する /Inoue (22/04/30(Sat) 11:16) #35036 解決み!


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

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

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

    どのような原因が考えられるでしょうか?
違反を報告
[ □ Tree ] 返信 削除キー/

▲[ 35034 ] / ▼[ 35036 ]
■35035 / 1階層)  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
違反を報告
[ 親 35034 / □ Tree ] 返信 削除キー/

▲[ 35035 ] / 返信無し
■35036 / 2階層)  Re[2]: DataGridViewの列にコンボボックスを表示する
□投稿者/ Inoue 一般人(2回)-(2022/04/30(Sat) 11:16:03)
  • アイコンNo35035に返信(魔界の仮面弁士さんの記事)
    ありがとうございました。
    作成してバインドする列のデータタイプが違ってました。
    昨日1日悩んでいた問題が無事解決できました。
    感謝です!

解決み!
違反を報告
[ 親 35034 / □ Tree ] 返信 削除キー/


Mode/  Pass/


- Child Tree -