■■■

2016年3月31日木曜日

DataGridViewでセルの値をチェックする方法

DataGridViewでセルの値をチェックする方法
VB.NET
Private Sub dgv1_CellValidating(ByVal sender As Object, _
ByVal e As DataGridViewCellValidatingEventArgs) _
Handles dgv1.CellValidating

Dim dgv As DataGridView = DirectCast(sender, DataGridView)

If e.RowIndex = dgv.NewRowIndex OrElse Not dgv.IsCurrentCellDirty Then
Exit Sub
End If

If
dgv.Columns(e.ColumnIndex).Name = "
col1" AndAlso _
e.FormattedValue.ToString() = "" Then
dgv.Rows(e.RowIndex).ErrorText = "セルが未入力です"
e.Cancel = True
End If
End Sub


Private Sub dgv1_CellValidated(ByVal sender As Object, _
ByVal e As DataGridViewCellEventArgs) _
Handles dgv1.CellValidated

Dim dgv As DataGridView = DirectCast(sender, DataGridView)
dgv.Rows(e.RowIndex).ErrorText = Nothing
End Sub
C#
private void dgv1_CellValidating(object sender,
DataGridViewCellValidatingEventArgs e)
{
DataGridView dgv = (DataGridView)sender;

if (e.RowIndex == dgv.NewRowIndex || !dgv.IsCurrentCellDirty)
{
return;
}

if (dgv.Columns[e.ColumnIndex].Name == "col1" &&
e.FormattedValue.ToString() == "")
{
dgv.Rows[e.RowIndex].ErrorText = "未入力セルが存在します";
e.Cancel = true;
}
}

private void dgv1_CellValidated(object sender,
DataGridViewCellEventArgs e)
{
DataGridView dgv = (DataGridView)sender;
dgv.Rows[e.RowIndex].ErrorText = null;
}
















■■■