Utilizzo delle convalide nei fogli di lavoro

Modalità di convalida

Esistono tre modalità di convalida supportate da Aspose.Cells.GridDesktop come segue:

  • È richiesta la modalità di convalida
  • Modalità di convalida delle espressioni regolari
  • Modalità di convalida personalizzata

È richiesta la modalità di convalida

In questa modalità di convalida, gli utenti sono limitati a immettere valori nelle celle specificate. Una voltaÈ richiesta la convalida viene applicato su una cella del foglio di lavoro, diventa obbligatorio per un utente inserire il valore in quella cella.

Modalità di convalida delle espressioni regolari

In questa modalità, le restrizioni vengono applicate alle celle del foglio di lavoro per consentire agli utenti di inviare i dati nelle celle in un formato specifico. Il modello del formato dei dati è fornito sotto forma di aEspressione regolare.

Modalità di convalida personalizzata

UsareConvalida personalizzata , È necessario che gli sviluppatori implementino l’interfaccia Aspose.Cells.GridDesktop.ICustomValidation. L’interfaccia fornisce unConvalidare metodo. Questo metodo restituisce true se i dati sono validi altrimenti restituisce false.

Utilizzo delle convalide in Aspose.Cells.GridDesktop

Aggiunta di convalida

Per aggiungere qualsiasi tipo di convalida a una cella del foglio di lavoro, procedi nel seguente modo:

  • Aggiungi il controllo Aspose.Cells.GridDesktop al tuoModulo
  • Accedi a qualsiasi desideratoFoglio di lavoro
  • Aggiungi una convalida desiderata al fileConvalide raccolta delFoglio di lavoro per specificare quale convalida verrebbe 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 sopra, abbiamo aggiunto una convalida personalizzata inA8cell ma non abbiamo ancora implementato quella convalida personalizzata. Come abbiamo spiegato all’inizio di questo argomento, per applicare la convalida personalizzata, dobbiamo implementareICustomValidation interfaccia. Quindi, proviamo a creare una classe da implementareICustomValidation interfaccia.

Nello snippet di codice riportato di seguito, abbiamo implementato una convalida personalizzata per eseguire i seguenti controlli:

  • Controlla se l’indirizzo della cella è accurato in cui viene aggiunta la convalida
  • Controlla se il tipo di dati del valore della cella è double
  • 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 convalida

Una volta aggiunta una convalida a una specifica cella del foglio di lavoro, gli sviluppatori potrebbero richiedere di accedere e modificare gli attributi di una specifica convalida in fase di esecuzione. Quindi, Aspose.Cells.GridDesktop ha reso semplice per gli sviluppatori svolgere questa attività.

Per accedere a una validazione specifica, procedi nel seguente modo:

  • Accedi a un file desideratoFoglio di lavoro
  • Accedi a uno specificoConvalidanel foglio di lavoro specificando il nome della cella su cui è stata applicata la convalida
  • ModificareConvalida attributi, se lo si desidera
// 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 convalida

Per rimuovere una convalida specifica dal foglio di lavoro, procedi nel seguente modo:

  • Accedi a un file desideratoFoglio di lavoro
  • Rimuovi un file specificoConvalida dalFoglio 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.");
}