DataGridViewCell.ErrorText Properti
Definisi
Penting
Beberapa informasi terkait produk prarilis yang dapat diubah secara signifikan sebelum dirilis. Microsoft tidak memberikan jaminan, tersirat maupun tersurat, sehubungan dengan informasi yang diberikan di sini.
Mendapatkan atau mengatur teks yang menjelaskan kondisi kesalahan yang terkait dengan sel.
public:
property System::String ^ ErrorText { System::String ^ get(); void set(System::String ^ value); };
[System.ComponentModel.Browsable(false)]
public string ErrorText { get; set; }
[<System.ComponentModel.Browsable(false)>]
member this.ErrorText : string with get, set
Public Property ErrorText As String
Nilai Properti
Teks yang menjelaskan kondisi kesalahan yang terkait dengan sel.
- Atribut
Contoh
Contoh kode berikut menunjukkan cara menggunakan properti ini saat menangani kondisi kesalahan dalam unbound DataGridView. Metode AnnotateCell
ini mengatur string pesan kesalahan ke ErrorText properti .
void dataGridView1_CellValidating( Object^ /*sender*/, DataGridViewCellValidatingEventArgs^ newValue )
{
DataGridViewColumn^ column = dataGridView1->Columns[ newValue->ColumnIndex ];
if ( column->Name->Equals( "Track" ) )
{
CheckTrack( newValue );
}
else
if ( column->Name->Equals( "Release Date" ) )
{
CheckDate( newValue );
}
}
void CheckTrack( DataGridViewCellValidatingEventArgs^ newValue )
{
Int32 ignored;
if ( newValue->FormattedValue->ToString() == String::Empty )
{
NotifyUserAndForceRedo( "Please enter a track", newValue );
}
else
if ( !Int32::TryParse( newValue->FormattedValue->ToString(), ignored ) )
{
NotifyUserAndForceRedo( "A Track must be a number", newValue );
}
else
if ( Int32::Parse( newValue->FormattedValue->ToString() ) < 1 )
{
NotifyUserAndForceRedo( "Not a valid track", newValue );
editedLastColumn = true;
}
}
void NotifyUserAndForceRedo( String^ errorMessage, DataGridViewCellValidatingEventArgs^ newValue )
{
MessageBox::Show( errorMessage );
newValue->Cancel = true;
}
void CheckDate( DataGridViewCellValidatingEventArgs^ newValue )
{
try
{
DateTime::Parse( newValue->FormattedValue->ToString() ).ToLongDateString();
AnnotateCell( String::Empty, newValue );
}
catch ( FormatException^ /*ex*/ )
{
AnnotateCell( "You did not enter a valid date.", newValue );
}
}
void AnnotateCell( String^ errorMessage, DataGridViewCellValidatingEventArgs^ editEvent )
{
DataGridViewCell^ cell = dataGridView1->Rows[ editEvent->RowIndex ]->Cells[ editEvent->ColumnIndex ];
cell->ErrorText = errorMessage;
}
private void dataGridView1_CellValidating(object sender, DataGridViewCellValidatingEventArgs e)
{
DataGridViewColumn column = dataGridView1.Columns[e.ColumnIndex];
if (column.Name == "Track")
{
CheckTrack(e);
}
else if (column.Name == "Release Date")
{
CheckDate(e);
}
}
private static void CheckTrack(DataGridViewCellValidatingEventArgs newValue)
{
Int32 ignored = new Int32();
if (String.IsNullOrEmpty(newValue.FormattedValue.ToString()))
{
NotifyUserAndForceRedo("Please enter a track", newValue);
}
else if (!Int32.TryParse(newValue.FormattedValue.ToString(), out ignored))
{
NotifyUserAndForceRedo("A Track must be a number", newValue);
}
else if (Int32.Parse(newValue.FormattedValue.ToString()) < 1)
{
NotifyUserAndForceRedo("Not a valid track", newValue);
}
}
private static void NotifyUserAndForceRedo(string errorMessage, DataGridViewCellValidatingEventArgs newValue)
{
MessageBox.Show(errorMessage);
newValue.Cancel = true;
}
private void CheckDate(DataGridViewCellValidatingEventArgs newValue)
{
try
{
DateTime.Parse(newValue.FormattedValue.ToString()).ToLongDateString();
AnnotateCell(String.Empty, newValue);
}
catch (FormatException)
{
AnnotateCell("You did not enter a valid date.", newValue);
}
}
private void AnnotateCell(string errorMessage, DataGridViewCellValidatingEventArgs editEvent)
{
DataGridViewCell cell = dataGridView1.Rows[editEvent.RowIndex].Cells[editEvent.ColumnIndex];
cell.ErrorText = errorMessage;
}
Private Sub dataGridView1_CellValidating(ByVal sender As Object, _
ByVal e As _
DataGridViewCellValidatingEventArgs) _
Handles dataGridView1.CellValidating
Dim column As DataGridViewColumn = _
dataGridView1.Columns(e.ColumnIndex)
If column.Name = "Track" Then
CheckTrack(e)
ElseIf column.Name = "Release Date" Then
CheckDate(e)
End If
End Sub
Private Shared Sub CheckTrack(ByVal newValue As DataGridViewCellValidatingEventArgs)
If String.IsNullOrEmpty(newValue.FormattedValue.ToString()) Then
NotifyUserAndForceRedo("Please enter a track", newValue)
ElseIf Not Integer.TryParse( _
newValue.FormattedValue.ToString(), New Integer()) Then
NotifyUserAndForceRedo("A Track must be a number", newValue)
ElseIf Integer.Parse(newValue.FormattedValue.ToString()) < 1 Then
NotifyUserAndForceRedo("Not a valid track", newValue)
End If
End Sub
Private Shared Sub NotifyUserAndForceRedo(ByVal errorMessage As String, ByVal newValue As DataGridViewCellValidatingEventArgs)
MessageBox.Show(errorMessage)
newValue.Cancel = True
End Sub
Private Sub CheckDate(ByVal newValue As DataGridViewCellValidatingEventArgs)
Try
DateTime.Parse(newValue.FormattedValue.ToString()).ToLongDateString()
AnnotateCell(String.Empty, newValue)
Catch ex As FormatException
AnnotateCell("You did not enter a valid date.", newValue)
End Try
End Sub
Private Sub AnnotateCell(ByVal errorMessage As String, _
ByVal editEvent As DataGridViewCellValidatingEventArgs)
Dim cell As DataGridViewCell = _
dataGridView1.Rows(editEvent.RowIndex).Cells( _
editEvent.ColumnIndex)
cell.ErrorText = errorMessage
End Sub
Keterangan
Biasanya, ErrorText properti digunakan saat menangani CellValidating peristiwa DataGridView. Jika nilai sel gagal dalam beberapa kriteria validasi, atur ErrorText properti dan batalkan operasi penerapan dengan mengatur Cancel properti ke DataGridViewCellValidatingEventArgstrue
. Teks yang Anda tentukan kemudian ditampilkan oleh DataGridView, dan pengguna diminta untuk memperbaiki kesalahan dalam data sel.
VirtualMode Saat properti adalah DataGridViewtrue
, Anda dapat memberikan teks kesalahan untuk baris dan sel menggunakan RowErrorTextNeeded peristiwa dan CellErrorTextNeeded .
Saat Anda menetapkan string yang berbeda ErrorText ke sel, CellErrorTextChanged peristiwa DataGridView kontrol dinaikkan.
Dimulai dengan .NET Framework 4.5.2, mengubah ukuran ikon kesalahan ditentukan oleh pengaturan DPI sistem ketika file app.config berisi entri berikut:
<appSettings>
<add key="EnableWindowsFormsHighDpiAutoResizing" value="true" />
</appSettings>
Berlaku untuk
Lihat juga
Saran dan Komentar
https://aka.ms/ContentUserFeedback.
Segera hadir: Sepanjang tahun 2024 kami akan menghentikan penggunaan GitHub Issues sebagai mekanisme umpan balik untuk konten dan menggantinya dengan sistem umpan balik baru. Untuk mengetahui informasi selengkapnya, lihat:Kirim dan lihat umpan balik untuk