Şimdi Ara

Datagridview konulu bir soru

Daha Fazla
Bu Konudaki Kullanıcılar: Daha Az
2 Misafir - 2 Masaüstü
5 sn
6
Cevap
0
Favori
585
Tıklama
Daha Fazla
İstatistik
  • Konu İstatistikleri Yükleniyor
0 oy
Öne Çıkar
Sayfa: 1
Giriş
Mesaj
  • Merhaba arkadaşlar.


    Yazılımcı hiç değilim, ufak bir sorum olacak.

    İş yerim için kendimce bir program oluşturuyorum.


    Takıldığım ufak bir nokta var


    Sağlı sollu 2 farklı datagridview kullanmaktayım.



    İhtiyacım olan aşağıaki gibi..


    ne zaman soldaki datagridview'da bir sütuna tıklasam [1] deki "isim" değeri, sağ taraftaki datagridview daki [0] değeri nerede çakışıyorsa (ki çakışacak) o satır seçili hale gelsin.




    1) dg_Envanter.CurrentRow.Cells[1].Value

    2) dg_Pivot.CurrentRow.Cells[0].Value


    Kısaca 1 e tıklayınca, 2 nin ilgili satırı seçili hale gelsin.



    dg_Envanter deki satır bilgilerini halihazırda update etmek için cellenter event'ini kullanmaktayım.

    Aynı event üzerinden devam edilebilir diye düşünüyordum ama devamını getiremedim.


    Yardımcı olabilirseniz çok memnun olurum.








  • currentcell ve scrollindex ile yapabilirsin.


    soldaki grid cellenter a sağdaki grid in tüm row larını gezdirip aynı olan değerde seçimi yaptırman lazım.


            foreach (datagridviewrow in sagdakigrid.rows)

            {

              if (r.cells["xx"].Value.tostring() == soldakisecilivalue.tostring())

              {

                sagdakigrid.currentcell= r.cells["xx"];

                sagdakigrid.firstdisplayedscrollingrowIndex = r.Index;

    break;

              }

            }

  • quote:

    Orijinalden alıntı: TROJ

    currentcell ve scrollindex ile yapabilirsin.


    soldaki grid cellenter a sağdaki grid in tüm row larını gezdirip aynı olan değerde seçimi yaptırman lazım.


            foreach (datagridviewrow in sagdakigrid.rows)

            {

              if (r.cells["xx"].Value.tostring() == soldakisecilivalue.tostring())

              {

                sagdakigrid.currentcell= r.cells["xx"];

                sagdakigrid.firstdisplayedscrollingrowIndex = r.Index;

    break;

              }

            }

    Cevap için teşekkür ederim.


    Aldığım cevap doğrultusunda kodu benim objelere göre aşağıdaki gibi doldurdum.



    foreach (DataGridViewRow in dg_Pivot.Rows)

               {

                   if (r.Cells[0].Value.ToString == dg_Envanter.CurrentRow.Cells[1].Value.ToString)

                   {

                       dg_Pivot.CurrentCell = r.cells[0];

                       dg_Pivot.FirstDisplayedScrollingRowIndex = r.Index;

                       break;

                   }

               }



    Aldığım hatalar..



    1) Foreach içerisinde in takısı altı çizili geldi (Type and identifier are both required in a foreach statement)  


    2) r için : (The name 'r' does not exist in the current context)



    Birşeyi hatalı mı yaptım ben?





  • badtrip kullanıcısına yanıt

    foreach (DataGridViewRow r in dg_Pivot.Rows)

               {

                   if (r.Cells[0].Value.ToString() == dg_Envanter.CurrentRow.Cells[1].Value.ToString())

                   {

                       dg_Pivot.CurrentCell = r.cells[0];

                       dg_Pivot.FirstDisplayedScrollingRowIndex = r.Index;

                       break;

                   }

               }


    ayrıca döngüyü


    dg_Envanter.CurrentRow.Cells[1].Value != null kontrolü içinde yaptırırsanız ilk yüklemede cellenter hata verme ihtimali kalkmış olur





  • quote:

    Orijinalden alıntı: TROJ

    foreach (DataGridViewRow r in dg_Pivot.Rows)

               {

                   if (r.Cells[0].Value.ToString() == dg_Envanter.CurrentRow.Cells[1].Value.ToString())

                   {

                       dg_Pivot.CurrentCell = r.cells[0];

                       dg_Pivot.FirstDisplayedScrollingRowIndex = r.Index;

                       break;

                   }

               }


    ayrıca döngüyü


    dg_Envanter.CurrentRow.Cells[1].Value != null kontrolü içinde yaptırırsanız ilk yüklemede cellenter hata verme ihtimali kalkmış olur

    Teşekkür ederim @TROJ.


    Birebir istediğim gibi oldu.


    şu programlaya iyice başlamak gerek :)





  • 
Sayfa: 1
- x
Bildirim
mesajınız kopyalandı (ctrl+v) yapıştırmak istediğiniz yere yapıştırabilirsiniz.