2016-04-12 31 views
0

sütunlarında sayısal değerler denetleniyor BuDataGridView

public static bool CheckForNumbersInNumbersColumns(DataGridView datagridviewname) 
    { 
     bool numbersarenotpresent = false; 
     for (int i = 0; i < datagridviewname.Rows.Count; i++) 
     { 
      if (typeof (float) == datagridviewname.Rows[i].Cells[7].Value.GetType() || typeof (float) == datagridviewname.Rows[i].Cells[8].Value.GetType()) 
      { 
       numbersarenotpresent = true; 
       break; 
      } 
      else 
      { 
       numbersarenotpresent = false; 
      } 
     } 
     return numbersarenotpresent; 
    } 
Ben hücrede sadece tek harflerin herhangi bir dize değeri ile test false döndüren tutar

gibi görünen bir kamu senaryomuz var, ben istiyorum Bu, gerçek geri dönmek ve sadece bu olduğunda çalışan durdurmak. Herhangi bir yardım büyük takdir edilecektir!

+0

ANY numaraları olup olmadığını veya tüm değerlerin sayı olup olmadığını kontrol etmesini ister misiniz? –

+0

Herhangi bir sayı ... Bir sayıdan başka bir şey varsa (örn. "F" veya "steve"), bir true döndürmesini ve sonra bir ileti kutusu başlatmak ve hata hakkında kullanıcıyı bilgilendirmek için bu Boolean'ı kullanmak istiyorum. – ziluke

cevap

1

Kontrol etmek istediğiniz her bir hücrenin değerini yakalayabilir ve TryParse'u gerçekleştirebilirsiniz. TryParse başarısız olursa, değerin bir float olmadığı belirtisidir.

Daha fazla bilgi için TryParsehere.

public static bool CheckForNumbersInNumbersColumns(DataGridView datagridviewname) 
{ 
    for (int i = 0; i < datagridviewname.Rows.Count; i++) 
    { 
     var value = datagridviewname.Rows[i].Cells[7].Value.ToString(); 
     var value2 = datagridviewname.Rows[i].Cells[8].Value.ToString(); 
     float floatValue; 
     float floatValue2; 

     if (!Single.TryParse(value, NumberStyles.Any, CultureInfo.InvariantCulture, out floatValue) || 
      !Single.TryParse(value2, NumberStyles.Any, CultureInfo.InvariantCulture, out floatValue2)) 
     { 
      return true; 
     } 
    } 
    return false; 
} 
+0

Kusursuz çalışıyor !! TEŞEKKÜR EDERİM!!! – ziluke

+0

Güzel! sorun değil. Açıklama ve yanıtımdan memnun kaldıysanız lütfen cevabımı (onay işaretini tıklayarak) kabul edin. : D –

+0

Size benzer doğadan bir soru için sizi rahatsız edebilir miyim? Aynı şeyi yapmak mümkün mü, ama sayıları veya rastgele dizeleri yerine hücrede renk olup olmadığını kontrol etmek mümkün mü? – ziluke