Arbeta med valideringar i arbetsblad
Valideringslägen
Det finns tre valideringslägen som stöds av Aspose.Cells.GridDesktop enligt följande:
- Krävs valideringsläge
- Valideringsläge för reguljära uttryck
- Anpassat valideringsläge
Krävs valideringsläge
I detta valideringsläge är användarna begränsade till att ange värden i specificerade celler. En gångKrävs validering tillämpas på en kalkylbladscell, blir det ett måste för en användare att ange värde i den cellen.
Valideringsläge för reguljära uttryck
I det här läget tillämpas begränsningar på kalkylbladsceller för användarna att skicka in data till celler i ett specifikt format. Mönstret för dataformat tillhandahålls i form av enVanligt uttryck.
Anpassat valideringsläge
Att användaAnpassad validering , Det är ett måste för utvecklare att implementera gränssnittet Aspose.Cells.GridDesktop.ICustomValidation. Gränssnittet ger enBekräfta metod. Denna metod returnerar true om data är giltig annars returnerar false.
Arbeta med valideringar i Aspose.Cells.GridDesktop
Lägger till validering
För att lägga till någon form av validering till en kalkylbladscell, följ stegen nedan:
- Lägg till Aspose.Cells.GridDesktop-kontroll till dinForm
- Få åtkomst till alla önskadeArbetsblad
- Lägg till en önskad validering tillValideringar samling avArbetsblad för att ange vilken validering som skulle 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()); |
Implementering av ICustomValidation
I kodavsnittet ovan har vi lagt till en anpassad validering iA8cell men vi har inte implementerat den anpassade valideringen ännu. Som vi har förklarat i början av det här ämnet att för att tillämpa anpassad validering måste vi implementeraICustomValidation gränssnitt. Så låt oss försöka skapa en klass att implementeraICustomValidation gränssnitt.
I kodavsnittet nedan har vi implementerat en anpassad validering för att utföra följande kontroller:
- Kontrollera om cellens adress är korrekt där valideringen läggs till
- Kontrollera om datatypen för cellens värde är dubbelt
- 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; | |
} | |
} |
Få åtkomst till validering
När en validering har lagts till i en specifik kalkylbladscell kan det krävas av utvecklare att få tillgång till och ändra attributen för en specifik validering under körning. Så, Aspose.Cells.GridDesktop har gjort det enkelt för utvecklare att utföra denna uppgift.
För att komma åt en specifik validering, följ stegen nedan:
- Få tillgång till en önskadArbetsblad
- Få tillgång till en specifikGodkännande kalkylbladet genom att ange cellnamnet som valideringen tillämpades på
- RedigeraGodkännande attribut, om så önskas
// 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:
- Få tillgång till en önskadArbetsblad
- Ta bort en specifikGodkännande frånArbetsblad genom att ange cellnamnet som valideringen tillämpades på
// 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."); | |
} |