DataGridView Sadece Sayı Girme

Projelerinizde  DataGridView kullanmışınızdır. Veri girişini DataGridView hücrelerine direk giriş yaptığınız durumlar mutlaka oluşmuştur. Bunlardan biri de hücreye sadece sayı girme ihtiyacının oluşmasıdır.

Aşağıdaki örnek formda bir öğrenciye ait not bilgilerini gösteren notlarTBLDataGridView görülmektedir. Bu gridin CellValidating olayı aracılığıyla sayı haricinde değer girildiğinde uyarı verecek şu kodlamayı kullanabilirsiniz.

 private void notlarTBLDataGridView_CellValidating(object sender, DataGridViewCellValidatingEventArgs e)
 {
     try
     {
         int sayitipi = (int)notlarTBLDataGridView.CurrentCell.Value; //Aktif hücrenin bilgisi aldık
         if (notlarTBLDataGridView.Columns[e.ColumnIndex].Index >= 0) //Sütün varsa
         {
             int result;
             if (!int.TryParse(e.FormattedValue.ToString(), out result))  //Sayı değil mi  kontrolünü yaptık.  
             {
                 e.Cancel = true;
                 MessageBox.Show("Lütfen yalnızca sayı giriniz.\r\nESC tuşuna basarak hatadan kurtulabilirsiniz.", "Uyarı", MessageBoxButtons.OK, MessageBoxIcon.Error); //Hata mesajı
                 notlarTBLDataGridView.CurrentCell.Value = sayitipi; //ESC ye basıldığında eksi sayı değerinin hücrede kalmasını sağladık.
             }
         }
     }
     catch (Exception)
     {
         e.Cancel = false;
     }
 }

Yukarıda bir hücreye sayısal olmayan bilgi girilmiş ve hata alınmıştır.

Ders adı alanını DataGridViewin Properties penceresinde Columns özelliğinin yanındaki üç noktalı butona tıklayarak gelen aşağıdaki pencerede Readonly özelliğini true olarak ayarladık. Ders adları değiştirilmesin istedik.


Faydalı olması dileğiyle.



Etiketler
Number Validating FormattedValue
Mesaj Yaz