Lavorare con le Validazioni nei Fogli di Lavoro

Modalità di Validazione

Sono supportate tre modalità di validazione da Aspose.Cells.GridDesktop come segue:

  • Modalità di Validazione Is Required
  • Modalità di Validazione delle Espressioni Regolari
  • Modalità di Validazione Personalizzata

Modalità di Validazione Is Required

In questa modalità di validazione, agli utenti è vietato inserire valori nelle celle specificate. Una volta che la Validazione Is Required è applicata a una cella del foglio di calcolo, diventa obbligatorio per un utente inserire un valore in quella cella.

Modalità di Validazione delle Espressioni Regolari

In questa modalità, vengono applicate restrizioni alle celle del foglio di lavoro affinché gli utenti possano inserire dati nelle celle in un formato specifico. Il modello del formato dei dati è fornito sotto forma di Espressione Regolare.

Modalità di Validazione Personalizzata

Per utilizzare la Validazione Personazzata, i developer devono implementare l’interfaccia Aspose.Cells.GridDesktop.ICustomValidation. L’interfaccia fornisce un metodo Validate. Questo metodo restituisce true se i dati sono validi altrimenti restituisce false.

Lavorare con le Validazioni in Aspose.Cells.GridDesktop

Aggiunta di Validazione

Per aggiungere qualsiasi tipo di validazione a una cella del foglio di lavoro, seguire i passaggi seguenti:

  • Aggiungi il controllo Aspose.Cells.GridDesktop al tuo Form
  • Accedere a qualsiasi Foglio di lavoro desiderato
  • Aggiungi una validazione desiderata alla collezione Validations del Foglio di lavoro per specificare quale validazione verrà applicata su quale cella.
// For complete examples and data files, please go to https://github.com/aspose-cells/Aspose.Cells-for-.NET
// Accessing first worksheet of the Grid
Worksheet sheet = gridDesktop1.Worksheets[0];
// Adding values to specific cells of the worksheet
sheet.Cells["a2"].Value = "Required";
sheet.Cells["a4"].Value = "100";
sheet.Cells["a6"].Value = "2006-07-21";
sheet.Cells["a8"].Value = "101.2";
// Adding Is Required Validation to a cell
sheet.Validations.Add("a2", true, "");
// Adding simple Regular Expression Validation to a cell
sheet.Validations.Add("a4", true, @"\d+");
// Adding complex Regular Expression Validation to a cell
sheet.Validations.Add("a6", true, @"\d{4}-\d{2}-\d{2}");
// Adding Custom Validation to a cell
sheet.Validations.Add("a8", new CustomValidation());

Implementazione di ICustomValidation

Nello snippet di codice precedente, abbiamo aggiunto una validazione personalizzata nella cella A8 ma non abbiamo ancora implementato tale validazione personalizzata. Come abbiamo spiegato all’inizio di questo argomento, per applicare una validazione personalizzata, dobbiamo implementare l’interfaccia ICustomValidation. Quindi, proviamo a creare una classe per implementare l’interfaccia ICustomValidation.

Nello snippet di codice sottostante, abbiamo implementato una validazione personalizzata per effettuare i seguenti controlli:

  • Verifica se l’indirizzo della cella è accurato in cui è stata aggiunta la validazione
  • Controlla se il tipo di dati del valore della cella è doppio
  • Controlla se il valore della cella è maggiore di 100
// For complete examples and data files, please go to https://github.com/aspose-cells/Aspose.Cells-for-.NET
// Implementing ICustomValidation interface
public class CustomValidation : Aspose.Cells.GridDesktop.ICustomValidation
{
// Implementing Validate method already defined in the interface
public bool Validate(Worksheet worksheet, int row, int col, object value)
{
// Checking the cell's address
if (row == 7 && col == 0)
{
//Checking the data type of cell's value
double d = 0;
try
{
d = (double)value;
}
catch
{
return false;
}
// Checking if the cell's value is greater than 100
if (d > 100)
return true;
}
return false;
}
}

Accesso alla Validazione

Dopo che una validazione è stata aggiunta a una specifica cella del foglio di lavoro, potrebbe essere necessario per i developer accedere e modificare gli attributi di una specifica validazione durante l’esecuzione. Quindi, Aspose.Cells.GridDesktop ha reso semplice per i developer raggiungere questo obiettivo.

Per accedere a una specifica validazione, seguire i passaggi seguenti:

  • Accedi a un Foglio di lavoro desiderato
  • Accedere a una specifica Validazione nel foglio di lavoro specificando il nome della cella su cui è stata applicata la validazione
  • Modifica gli attributi di Validazione, se desiderato
// For complete examples and data files, please go to https://github.com/aspose-cells/Aspose.Cells-for-.NET
// Accessing first worksheet of the Grid
Worksheet sheet = gridDesktop1.Worksheets[0];
if (sheet.Validations.Count > 0)
{
// Accessing the Validation object applied on "a8" cell
Aspose.Cells.GridDesktop.Data.GridValidation validation = sheet.Validations[7, 0];
// Editing the attributes of Validation
validation.IsRequired = true;
validation.RegEx = "";
validation.CustomValidation = null;
MessageBox.Show("Validation has been edited after accessing it.");
}
else
{
MessageBox.Show("No validations found to access.");
}

Rimozione della Validazione

Per rimuovere una specifica validazione dal foglio di lavoro, seguire i seguenti passaggi:

  • Accedi a un Foglio di lavoro desiderato
  • Rimuovi una specifica Validazione dal Foglio di lavoro specificando il nome della cella su cui è stata applicata la validazione
// For complete examples and data files, please go to https://github.com/aspose-cells/Aspose.Cells-for-.NET
// Accessing first worksheet of the Grid
Worksheet sheet = gridDesktop1.Worksheets[0];
if (sheet.Validations.Count > 0)
{
// Removing the Validation object applied on "a6" cell
sheet.Validations.RemoveAt(1);
MessageBox.Show("Validation has been removed.");
}
else
{
MessageBox.Show("No validations found to remove.");
}