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

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

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

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

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

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

وضع التحقق من صحة التعبيرات العادية

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

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

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

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

مضيفا التحقق من الصحة

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

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

في مقتطف الشفرة أعلاه ، أضفنا تحققًا مخصصًا بتنسيقأ 8خلية ولكننا لم ننفذ هذا التحقق المخصص حتى الآن. كما أوضحنا في بداية هذا الموضوع ، لتطبيق التحقق المخصص ، يجب أن ننفذ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.");
}