العمل مع التحقق من الصحة في الأوراق العمل

أوضاع التحقق من الصحة

تدعم Aspose.Cells.GridDesktop ثلاثة أوضاع للتحقق كما يلي:

  • وضع التحقق المطلوب
  • وضع التحقق بتعبير منتظم
  • وضع التحقق المخصص

وضع التحقق الإجباري

في هذا وضع التحقق، يتم تقييد المستخدمين من إدخال القيم في الخلايا المحددة. بمجرد تطبيق وضع التحقق الإجباري على خلية في ورقة العمل، يصبح من الضروري على المستخدم إدخال قيمة في تلك الخلية.

وضع التحقق بتعبير منتظم

في هذا الوضع، يتم تطبيق قيود على الخلايا في ورقة العمل للمستخدمين لتقديم البيانات في الخلايا بتنسيق معين. يتم تقديم نمط تنسيق البيانات في شكل تعبير منتظم.

وضع التحقق المخصص

لاستخدام التحقق المخصص, يجب على المطورين تنفيذ واجهة Aspose.Cells.GridDesktop.ICustomValidation. توفر الواجهة طريقة تحقق. تُرجع هذه الطريقة قيمة صحيحة إذا كانت البيانات صالحة وإلا ترجع قيمة خاطئة.

العمل مع التحقق في Aspose.Cells.GridDesktop

إضافة التحقق

لإضافة أي نوع من التحقق إلى خلية في ورقة العمل، يرجى اتباع الخطوات التالية:

  • أضف عنصر تحكم Aspose.Cells.GridDesktop إلى نموذجك (Form)
  • الوصول إلى أي ورقة عمل مرغوبة
  • أضف تحقق مرغوب إلى مجموعة التحققات في ورقة العمل لتحديد التحقق الذي سيتم تطبيقه على أي خلية.
// 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());

تنفيذ ICustomValidation

في المقتطف البرمجي أعلاه، قمنا بإضافة تحقق مخصص في الخلية A8 لكننا لم ننفذ ذلك التحقق المخصص بعد. كما شرحنا في بداية هذا الموضوع أنه لتطبيق التحقق المخصص، يجب علينا تنفيذ واجهة ICustomValidation. لذا، دعنا نحاول إنشاء فئة لتنفيذ واجهة ICustomValidation.

في المقتطف البرمجي أدناه، قمنا بتنفيذ تحقق مخصص لأداء الفحوصات التالية:

  • التحقق مما إذا كان عنوان الخلية دقيقًا حيث تم إضافة التحقق
  • التحقق من نوع البيانات لقيمة الخلية هل هي عدد عشري
  • التحقق مما إذا كانت قيمة الخلية أكبر من 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;
}
}

الوصول إلى التحقق

بمجرد أن يتم إضافة التحقق إلى خلية ورقة العمل المحددة ، قد يكون من الضروري بالنسبة للمطورين الوصول إلى وتعديل السمات الخاصة بالتحقق المحدد أثناء التشغيل. لذا فقد قام Aspose.Cells.GridDesktop بتبسيط هذه المهمة للمطورين.

للوصول إلى التحقق المحدد ، يرجى اتباع الخطوات أدناه:

  • الوصول إلى ورقة العمل المطلوبة
  • الوصول إلى التحقق المحدد في ورقة العمل عن طريق تحديد اسم الخلية التي تم تطبيق التحقق عليها
  • تحرير سمات التحقق ، إذا لزم الأمر
// 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.");
}

إزالة التحقق

لإزالة التحقق المحدد من ورقة العمل ، يرجى اتباع الخطوات أدناه:

  • الوصول إلى ورقة العمل المطلوبة
  • إزالة التحقق المحدد من ورقة العمل عن طريق تحديد اسم الخلية التي تم تطبيق التحقق عليها
// 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.");
}