0

好的,这是我的头脑。我在有 20 列的 DataRow 对象上调用 SetColumnError(),但无论我使用哪个 ColumnIndex,它都会在第 0 列设置错误文本。MSDN文档清楚地表明应该在 ColumnIndex 提供的列上设置错误文本。

我正在尝试在第 1 列和第 2 列上设置错误文本(我通常在执行此操作时使用常量,为简单起见,我只是在此示例代码中使用了整数)。为什么错误文本出现在第 0 列,我应该怎么做才能让文本显示在第 1 列和第 2 列?我没有收到 IndexOutOfRangeException。

这是我遇到问题的代码。

Public Sub ValidateRows()

    For Each dgvRow As DataGridViewRow In Me.DataGridView1.Rows
        If dgvRow.DataBoundItem IsNot Nothing Then
            Dim rowView As DataRowView = dgvRow.DataBoundItem
            Dim rowData As MyDataSet.DocumentRow = rowView.Row
            rowData.ClearErrors()
            If rowData.Revision = rowData.Revision_old Then
                rowData.SetColumnError(1, "You must change the revision")
            End If
            If rowData.InternalRevision = rowData.InternalRevision_old Then
                rowData.SetColumnError(2, "You must change the internal revision")
            End If
        End If
    Next

End Sub
4

1 回答 1

0

我不确定,但我认为列的编号必须是“DataColumn”类型。

于 2013-06-19T10:03:31.110 回答