0

以下は、F9キーを押して特定の行の列の値を選択するときに使用したコードです.しかし、範囲外の引数が処理されたため、エラーが発生しました.詳細なエラーは、インデックスが範囲外の例外として発生します.

Private Sub dgsearchitemlist_KeyDown(ByVal sender As Object, _
       ByVal e As System.Windows.Forms.KeyEventArgs) _
       Handles dgsearchitemlist.KeyDown

    If e.KeyCode = Keys.F9 Then
        itemcode = dgsearchitemlist.SelectedRows(0).Cells(0).Value

        description = dgsearchitemlist.SelectedRows(0).Cells(2).Value.ToString
        uom = dgsearchitemlist.SelectedRows(0).Cells(3).Value.ToString

    End If
End Sub
4

3 に答える 3

2

代替案 1:

おそらく、 dgsearchitemlist.SelectionMode はRowHeaderSelectまたはFullRowSelectのいずれにも設定されていません。行のすべてのセルを手動で選択しても、その行は選択されません。プロパティをチェックして、これらの値のいずれかに設定してください。

代替案 2:

最後に選択した行だけが必要な場合は、dgsearchitemlist.SelectedRows(0) の代わりに dgsearchitemlist.CurrentRowを使用できます。次に、行が選択されているかどうかを確認する必要はありません。

これらの選択肢のいずれかがクリックされることを願っています!

于 2013-11-07T04:02:28.507 に答える