Forum

Vb.Net Datagridview...
 
Bildirimler
Hepsini Temizle

Vb.Net Datagridview hücresi

7 Yazılar
2 Üyeler
0 Reactions
2,168 Görüntüleme
Mehmet
(@mehmetikiz)
Gönderiler: 442
Prominent Member
Konu başlatıcı
 

Merhaba ;

Vb.net datagrdiview de benim istediğim bir hücreye sadece rakam ve virgül yazılsın istiyorum. Diğer hücrelerinde kısıtlama olmasın istiyorum fakat bir türlü çözemedim. Bu konuda yardımlarınızı bekliyorum.

Saygılarımla İyi Çalışmalar...

 
Gönderildi : 15/11/2012 18:36

Mehmet
(@mehmetikiz)
Gönderiler: 442
Prominent Member
Konu başlatıcı
 

Bilgisi olan yok mu acaba...

 
Gönderildi : 18/11/2012 21:20

(@HakkiKabadayi)
Gönderiler: 7
Active Member
 

Datagirdview CellValidating olayında girilen değeri kontrol edebilirsin. Eğer değer yanlışsa "e.cancel = true" ile girilen değeri iptal edebilirsin.

 

C# Örneği

 

               DataGridViewTextBoxCell cell = dataGridView1[e.ColumnIndex, e.RowIndex] as DataGridViewTextBoxCell;

            if (cell.EditedFormattedValue.ToString().Trim() != null)

            {

                double o;

                if(!Double.TryParse(cell.EditedFormattedValue.ToString(),out o))

                {

                    MessageBox.Show("Lütfen Sayısal Değer Giriniz !", "HATA");

                    e.Cancel = true;

                }

            } 

 
Gönderildi : 20/11/2012 01:56

Mehmet
(@mehmetikiz)
Gönderiler: 442
Prominent Member
Konu başlatıcı
 

Hakkı Bey ilginize çok teşekkür ederim. Aradığım buydu ama ben datagridview üzerinde örneğin 3 sütunda bu kontrol çalışsın diğer hücrelerde istediğimi yazabileyim istiyorum. bu kontrolü sadece istediğim cell de nasıl çalıştırabilirim. verdiğiniz kodu vb.net e convert ettim aşağıda. yardımlarınızı bekliyorum iyi çalışmalar şimdiden teşekkürler...

 

Dim cell As DataGridViewTextBoxCell = TryCast(DataGridView1(e.ColumnIndex, e.RowIndex), DataGridViewTextBoxCell)

        If (cell.EditedFormattedValue.ToString().Trim() IsNot Nothing) Then

            Dim o As Double

            If Not [Double].TryParse(cell.EditedFormattedValue.ToString(), o) Then

                MessageBox.Show("Lütfen Sayısal Değer Giriniz !", "HATA")

                e.Cancel = True

            End If

        End If 

 
Gönderildi : 21/11/2012 22:04

Mehmet
(@mehmetikiz)
Gönderiler: 442
Prominent Member
Konu başlatıcı
 

Çözümü bilen varmı acaba. sadece kolon 2 ye rakam ve virgül yazılmasını istiyorum. Teşekkürlerrrr.

 
Gönderildi : 24/11/2012 03:14

(@HakkiKabadayi)
Gönderiler: 7
Active Member
 

 bunu IF ifadesiyele çözebilirsin.  

 

Dim cell As DataGridViewTextBoxCell = TryCast(DataGridView1(e.ColumnIndex, e.RowIndex), DataGridViewTextBoxCell)

if(e.ColumnIndex = 2) Then      

  If (cell.EditedFormattedValue.ToString().Trim() IsNot Nothing) Then

            Dim o As Double

            If Not [Double].TryParse(cell.EditedFormattedValue.ToString(), o) Then

                MessageBox.Show("Lütfen Sayısal Değer Giriniz !", "HATA")

                e.Cancel = True

            End If

        End If 

End If 

 
Gönderildi : 24/11/2012 13:01

Mehmet
(@mehmetikiz)
Gönderiler: 442
Prominent Member
Konu başlatıcı
 

Hocam çok teşekkür ederim. Çok işime yaradı. İyi Çalışmalar...

 
Gönderildi : 25/11/2012 03:30

Paylaş: