Arbeta med valideringar i arbetsblad
Valideringstyper
Det finns tre valideringstyper som stöds av Aspose.Cells.GridDesktop enligt följande:
- Är Obligatorisk Valideringstyp
- Reguljära Uttryck Valideringstyp
- Anpassad Valideringstyp
Krävs valideringsläge
I det här valideringsläget begränsas användarna att ange värden i angivna celler. När Is Required Validation tillämpas på en kalkylbladscell måste användaren ange ett värde i den cellen.
Reguljära uttryck valideringsläge
I det här läget tillämpas restriktioner på arbetsboksceller för att användarna ska kunna skicka in data i en specifik format. Mönstret för dataformatet tillhandahålls i form av ett Reguljärt uttryck.
Anpassat valideringsläge
För att använda anpassad validering är det ett krav för utvecklare att implementera Aspose.Cells.GridDesktop.ICustomValidation interface. Gränssnittet tillhandahåller en Validera-metod. Denna metod returnerar true om datan är giltig annars returnerar den false.
Arbeta med validering i Aspose.Cells.GridDesktop
Lägga till validering
För att lägga till någon form av validering på en kalkylbladscell, följ stegen nedan:
- Lägg till Aspose.Cells.GridDesktop kontroll till din Form
- Kom åt något önskat Kalkylblad
- Lägg till önskad validering i Validerings-samlingen av Kalkylbladet för att ange vilken validering som ska tillämpas på vilken cell.
// 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()); |
Implementera ICustomValidation
I den ovanstående kodsnutten har vi lagt till en anpassad validering i A8-cellen men vi har ännu inte implementerat denna anpassade validering. Som vi har förklarat i början av detta ämne att för att tillämpa anpassad validering måste vi implementera ICustomValidation gränssnittet. Så låt oss försöka skapa en klass för att implementera ICustomValidation-gränssnittet.
I kodsnutten nedan har vi implementerat en anpassad validering för att utföra följande kontroller:
- Kontrollera om cellens adress är korrekt där valideringen är tillagd
- Kontrollera om cellens datatyp är dubbel
- Kontrollera om cellens värde är större än 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; | |
} | |
} |
Åtkomst av validering
När en validering läggs till på en specifik arbetsbokscell kan det vara nödvändigt för utvecklare att få åtkomst till och modifiera attributen för en specifik validering vid körning. Så har Aspose.Cells.GridDesktop gjort det enkelt för utvecklare att utföra denna uppgift.
För att komma åt en specifik validering, följ stegen nedan:
- Kom åt ett önskat Kalkylblad
- Kom åt en specifik Validering i kalkylbladet genom att ange cellnamnet på vilken valideringen tillämpades
- Redigera Validering-attribut, om önskat
// 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."); | |
} |
Ta bort validering
För att ta bort en specifik validering från kalkylbladet, följ stegen nedan:
- Kom åt ett önskat Kalkylblad
- Ta bort en specifik Validering från Kalkylbladet genom att ange cellnamnet på vilken valideringen tillämpades
// 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."); | |
} |