Çalışma Sayfalarında Doğrulamalarla Çalışmak
Doğrulama Modları
Aspose.Cells.GridDesktop tarafından desteklenen üç doğrulama modu aşağıdaki gibidir:
- Gereklidir Doğrulama Modu
- Düzenli İfadeler Doğrulama Modu
- Özel Doğrulama Modu
Gereklidir Doğrulama Modu
Bu doğrulama modunda, kullanıcılar belirtilen hücrelere değer girme konusunda kısıtlanır. Bir Gereklidir Doğrulaması bir çalışma sayfası hücresine uygulandığında, o hücreye değer girmek kullanıcı için zorunlu hale gelir.
Düzenli İfadeler Doğrulama Modu
Bu modda, çalışma sayfası hücrelerine belirli bir formatta veri göndermek üzere kısıtlamalar uygulanır. Veri formatının deseni bir Düzenli İfade biçiminde sağlanır.
Özel Doğrulama Modu
Özel Doğrulama kullanmak için, geliştiricilerin Aspose.Cells.GridDesktop.ICustomValidation arabirimini uygulaması gereklidir. Arabirim bir Doğrula yöntemi sağlar. Bu yöntem veri doğruysa true döndürür aksi takdirde false döndürür.
Aspose.Cells.GridDesktop’ta Doğrulamalarla Çalışmak
Doğrulama Ekleme
Çalışma sayfası hücresine herhangi bir doğrulama eklemek için lütfen aşağıdaki adımları takip edin:
- Form‘unuza Aspose.Cells.GridDesktop kontrolünü ekleyin
- Herhangi bir istenen Çalışma Sayfası‘na erişin
- Çalışma Sayfası‘nın Doğrulamalar koleksiyonuna istenen doğrulamayı ekleyerek, hangi hücreye hangi doğrulamanın uygulanacağını belirtin.
// 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 Uygulama
Yukarıdaki kod parçacığında, A8 hücresine bir özel doğrulama ekledik ancak henüz bu özel doğrulamayı uygulamadık. Bu konunun başında açıkladığımız gibi özel doğrulama uygulamak için ICustomValidation arabirimini uygulamamız gerektiğini hatırlayalım. Bu yüzden ICustomValidation arabirimini uygulamak için bir sınıf oluşturmayı deneyelim.
Aşağıdaki kod parçacığında, aşağıdaki kontrolleri gerçekleştiren bir özel doğrulama uyguladık:
- Doğrulamanın eklenmiş olduğu hücre adresinin doğru olup olmadığını kontrol edin
- Hücre değerinin veri tipinin double olup olmadığını kontrol edin
- Hücre değerinin 100’den büyük olup olmadığını kontrol edin
// 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; | |
} | |
} |
Doğrulamaya Erişme
Bir doğrulama belirli bir çalışma sayfası hücresine eklenmişse, geliştiricilerin çalışma zamanında belirli bir doğrulamanın özelliklerini erişip değiştirmesi gerekebilir. Bu görevi gerçekleştirmek için Aspose.Cells.GridDesktop, geliştiriciler için bu işlemi basit hale getirmiştir.
Belirli bir doğrulamaya erişmek için lütfen aşağıdaki adımları izleyin:
- İstenen Çalışma Sayfasına erişin
- Hücreye uygulanan doğrulamayı belirterek çalışma sayfasındaki belirli bir Doğrulamaya erişin
- İstenirse Doğrulama özelliklerini düzenleyin
// 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."); | |
} |
Doğrulamayı Kaldırma
Çalışma sayfasından belirli bir doğrulamayı kaldırmak için lütfen aşağıdaki adımları izleyin:
- İstenen Çalışma Sayfasına erişin
- Doğrulamanın uygulandığı hücre adını belirterek Çalışma Sayfasından belirli bir Doğrulamayı kaldırın
// 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."); | |
} |