tagCANDY CGI VBレスキュー(花ちゃん) の Visual Basic 2010 用 掲示板(VB.NET 掲示板) [ツリー表示へ]   [Home]
一括表示(VB.NET VB2005)
タイトルDataErrorハンドル
記事No9577
投稿日: 2009/11/11(Wed) 17:03
投稿者京橋
お疲れ様です。
現在.VB2005でプログラムを書いていますが下記でDataErrorハンドルのエラーがでます。

        column = New DataGridViewComboBoxColumn

        column.Name = "MaterialType"
        column.HeaderText = "地金金性"
        column.Width = 120
        column.DataSource = GetSelectList.GetMaterialTypeList.Copy

GetSelectList.GetMaterialTypeList.Copyに値が入っていないのが原因なのですが解決方法が分かりません。ご指導宜しくお願い致します

[ツリー表示へ]
タイトルRe: DataErrorハンドル
記事No9578
投稿日: 2009/11/11(Wed) 17:45
投稿者魔界の仮面弁士
> GetSelectList.GetMaterialTypeList.Copyに値が入っていないのが原因なのですが
> 解決方法が分かりません。ご指導宜しくお願い致します

一覧に無いデータが表れた場合、そのような状態になりますね。
解決方法は:

案1) 一覧(column.DataSource)に、必要な値すべてをあらかじめ用意しておく。

案2) DataErrorイベントで e.Cancel = True して、一覧に無い値の入力をキャンセルする。
http://dobon.net/vb/dotnet/datagridview/dataerror.html

案3) DataGridViewComboBoxColumn を使わず、DataGridViewTextBoxColumn で我慢する。

[ツリー表示へ]
タイトル DataErrorハンドル
記事No9579
投稿日: 2009/11/11(Wed) 18:28
投稿者京橋
ありがとうございます。ですがこちらの正式な書き方が分かりません><

'DataErrorイベントハンドラ
Private Sub DataGridView1_DataError(ByVal sender As Object, _
        ByVal e As DataGridViewDataErrorEventArgs) _
        Handles DataGridView1.DataError
    If Not (e.Exception Is Nothing) Then
        MessageBox.Show(Me, _
            String.Format("({0}, {1}) のセルでエラーが発生しました。" + _
                vbCrLf + vbCrLf + "説明: {2}", _
                e.ColumnIndex, e.RowIndex, e.Exception.Message), _
            "エラーが発生しました", _
            MessageBoxButtons.OK, _
            MessageBoxIcon.Error)
    End If
End Sub

[ツリー表示へ]
タイトルRe: DataErrorハンドル
記事No9580
投稿日: 2009/11/13(Fri) 13:05
投稿者京橋
まだ解決していません><お願い致します

[ツリー表示へ]