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