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."); | |
} |