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