Este artículo se tradujo de forma manual. Mueva el puntero sobre las frases del artículo para ver el texto original. |
Traducción
Original
|
DataGridViewCell.ErrorText (Propiedad)
Obtiene o establece el texto que describe una condición de error asociada a la celda.
Ensamblado: System.Windows.Forms (en System.Windows.Forms.dll)
Normalmente, la propiedad ErrorText se utiliza al controlar el evento CellValidating de DataGridView. Si el valor de la celda no cumple alguno de los criterios de validación, establezca la propiedad ErrorText y cancele la operación de confirmación estableciendo la propiedad Cancel de DataGridViewCellValidatingEventArgs en true. A continuación, DataGridView muestra el texto que especifique y se pide al usuario que corrija el error en los datos de la celda.
Cuando la propiedad VirtualMode de DataGridView es true, puede proporcionar el texto de error para las filas y celdas mediante los eventos RowErrorTextNeeded y CellErrorTextNeeded.
Al asignar una cadena distinta de ErrorText a una celda, se provoca el evento CellErrorTextChanged del control DataGridView.
En el ejemplo de código siguiente se muestra cómo utilizar esta propiedad al controlar las condiciones de error en un control DataGridView independiente. El método AnnotateCell establece una cadena con el mensaje de error en la propiedad ErrorText.
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; }
Windows 7, Windows Vista SP1 o posterior, Windows XP SP3, Windows XP SP2 x64 Edition, Windows Server 2008 (no se admite Server Core), Windows Server 2008 R2 (se admite Server Core con SP1 o posterior), Windows Server 2003 SP2
.NET Framework no admite todas las versiones de todas las plataformas. Para obtener una lista de las versiones compatibles, vea Requisitos de sistema de .NET Framework.