• 13-08-2020, 12:03:52
    #1
    Merhaba arkadaşlar bir konuda tıkandım yine çok araştırmama rağmen mantığı kuramadım yardımcı olabilirseniz çok sevinirim ?

    private void Form1_Load(object sender, EventArgs e)
    {
    dataGridView1.ColumnCount = 8;
    dataGridView1.Columns[0].Name = "ID";
    dataGridView1.Columns[1].Name = "BaslikA";
    dataGridView1.Columns[2].Name = "BaslikB";
    dataGridView1.Columns[3].Name = "BaslikC";
    dataGridView1.Columns[4].Name = "BaslikD";
    dataGridView1.Columns[5].Name = "BaslikE";
    dataGridView1.Columns[6].Name = "BaslikF";
    dataGridView1.Columns[7].Name = "BaslikG";
    }

    ####
    //Bu For döngüsü içerisinde datagridview'e data ekleme kodum..
    dataGridView1.Rows.Add(ID, BaslikAdata, BaslikBdata, BaslikCdata, BaslikDdata, BaslikEdata, BaslikFdata, BaslikGdata);

    ####
    //Bu kod ilede datagridview'e data olarak ekleteceğim değişkenin sakladığı kod. mantık oluşturmanız için
    BaslikEdata = driver.FindElement(By.XPath("//*[@id='pane']/div/div[1]/div/div/div[2]/div[1]/div[1]/div[1]/h1/span[1]")).Text.Trim().ToString();

    //şimdi veri eklemede döngüde falan sorun yok sırasıyla işlemlerimi sürdürüyorum fakat belli bir zaman sonra farkediyorum listemde tekrar eden aynı veriler mevcut diyelimki "BaslikEdata" baslığındaki tüm veriler karşılaştırsın içerisinde aynısı varsa yeni veriyi ekletmeden geçsin döngüye devam etsin gibi bişey istiyorum yardımcı olursanız çok sevinirim çok teşekkürler şimdiden.
  • 13-08-2020, 15:52:32
    #2
    Buradan yazdım. Yazım hatam olabilir. İstediğiniz şey yanlış anlamadıysam bu olması lazım hocam.

    for (int i=0; i< dataGridView1.Rows.Count; i++){
        if(Convert.toInt32(dataGridView1.Rows[i].Column[0].Value) != ID){
            // eklemek istediğin verinin ID ile dataGridView1'de ki verilerin ID karşılaştırır.
            // Eğer aynı değilse bu alana girer ve eklemeyi yaptırabilirsin.
        }
        if(dataGridView1.Rows[i].Column[1].Value.toString() != BaslikAdata){
            // eklemek istediğin verinin BaslikAdata ile dataGridView1'de ki verilerin BaslikAdata karşılaştırır.
            // Eğer aynı değilse bu alana girer ve eklemeyi yaptırabilirsin.
        }
    }
  • 13-08-2020, 15:59:56
    #3
    hakanbey58 adlı üyeden alıntı: mesajı görüntüle
    Buradan yazdım. Yazım hatam olabilir. İstediğiniz şey yanlış anlamadıysam bu olması lazım hocam.

    for (int i=0; i< dataGridView1.Rows.Count; i++){
    if(Convert.toInt32(dataGridView1.Rows[i].Column[0].Value) != ID){
    // eklemek istediğin verinin ID ile dataGridView1'de ki verilerin ID karşılaştırır.
    // Eğer aynı değilse bu alana girer ve eklemeyi yaptırabilirsin.
    }
    if(dataGridView1.Rows[i].Column[1].Value.toString() != BaslikAdata){
    // eklemek istediğin verinin BaslikAdata ile dataGridView1'de ki verilerin BaslikAdata karşılaştırır.
    // Eğer aynı değilse bu alana girer ve eklemeyi yaptırabilirsin.
    }
    }
    Dostum eline koluna sağlık uğraşıp zaman ayırdığın için fakat ben onu farklı bir yöntemle çözdüm hatta diğer arkadaşlarında faydalanması için olurda mantık kuramazlarsa diye paylaşıyorum burada...

                        for (int y = 0; y < dataGridView1.Rows.Count - 1; y++)
                        {
                                string str = (dataGridView1.Rows[y].Cells[5]).Value.ToString();
                                for (int j = 0; j < dataGridView1.Rows.Count - 1; j++)
                                {
                                          string str2 = (dataGridView1.Rows[j].Cells[5]).Value.ToString();
                                          if (y != j && str == str2)
                                          {
                                                  MessageBox.Show("duplicated");
                                                  dataGridView1.Rows.RemoveAt(j);
                                          }
                               }
                        }
  • 13-08-2020, 16:03:49
    #4
    C# ile başka problemler yaşarsanız özel mesaj atabilirsiniz. iyi çalışmalar.