Arama butonu
Bu konudaki kullanıcılar: 1 misafir, 1 mobil kullanıcı
4
Cevap
777
Tıklama
0
Öne Çıkarma
Datagridview konulu bir soru
B
4 yıl
Yarbay
Konu Sahibi

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.

DH forumlarında vakit geçirmekten keyif alıyor gibisin ancak giriş yapmadığını görüyoruz.

Üye olduğunda özel mesaj gönderebilir, beğendiğin konuları favorilerine ekleyip takibe alabilir ve daha önce gezdiğin konulara hızlıca erişebilirsin.

Üye Ol Şimdi Değil



T
4 yıl
Binbaşı

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;
          }
        }


Bu mesaja 1 cevap geldi.
B
4 yıl
Yarbay
Konu Sahibi

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?


Bu mesaja 1 cevap geldi.
T
4 yıl
Binbaşı

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


Bu mesaja 1 cevap geldi.

Bu mesajda bahsedilenler: @badtrip
B
4 yıl
Yarbay
Konu Sahibi

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 :)



DH Mobil uygulaması ile devam edin. Mobil tarayıcınız ile mümkün olanların yanı sıra, birçok yeni ve faydalı özelliğe erişin. Gizle ve güncelleme çıkana kadar tekrar gösterme.