• 12-12-2017, 21:39:35
    #1
    Arkadaşlar, Listview'de Sepet tarzı birşey yaptım. Sepete eklerken Komutlar bu şekilde. Ama ikinci kod bloğunda çıkarmayı yapamıyorum. yani sepette toplam tutarda ürün eksiltmek için 3. colomnun valuesini alamıyorum ne yapmam gerekli ?

    public decimal ToplamTutar;
            private void simpleButton1_Click(object sender, EventArgs e)
            {
    
                SqlCommand komut = new SqlCommand("Select UrunAdi,UrunFiyat from tbl_urunler where urunid=@p1", bgl.baglanti());
                komut.Parameters.AddWithValue("@p1", textBox1.Text);
                 SqlDataReader dr = komut.ExecuteReader();
                while (dr.Read())
               
    
                    ListViewItem item = new ListViewItem(dr["Urunadi"].ToString());
                    item.SubItems.Add(numericUpDown1.Value.ToString());
                    item.SubItems.Add(dr["UrunFiyat"].ToString());
                    listView1.Items.Add(item);
                    ToplamTutar =Convert.ToDecimal( dr["UrunFiyat"]) * numericUpDown1.Value + ToplamTutar;
                }
               
                lblToplamTutar.Text = ToplamTutar.ToString();
                numericUpDown1.Value = 1;
                bgl.baglanti().Close();
    ne yaptıysam bu blogtaki kısımı halledemedim, nasıl alabilirim selected itemsin 3. hücresindeki değeri ?
      if (listView1.Items.Count == 0)
                {
                    MessageBox.Show("Çıkartılacak bir ürün bulunmamakta");
                }
                else
                {
                   
                    listView1.SelectedItems[0].Remove();
    
                    
                }
               ToplamTutar = ToplamTutar -Convert.ToDecimal(listView1.SelectedItems[1].SubItems[2].Text); //listboxun seçilen öğesinin 3.satırının valuesi şeklinde..
               lblToplamTutar.Text = ToplamTutar.ToString();
    
            }
  • 14-12-2017, 18:14:10
    #2
    Merhaba,
    Sorunun üzerinden baya zaman geçmiş fakat; belki yine de bir işe yarar...
    Anladığım kadarıyla seçilen ürün silinince toplam fiyattan silinen ürün fiyatı kadar düşürmek istiyorsunuz. Bunun için seçilen item'ı silmeden önce fiyat bilgisini almalısınız. Yani önce fiyat bilgisini alıp sonra silme işlemini uygulamalısınız. Silme kısmını aşağıdaki gibi düzenlerseniz muhtemelen işe yarayacaktır.
                if(listView1.SelectedItems.Count < 1)
                {
                    return;
                }
                ToplamTutar = ToplamTutar - Convert.ToDecimal(listView1.SelectedItems[0].SubItems[2].Text);
                listView1.SelectedItems[0].Remove();
                lblToplamTutar.Text = ToplamTutar.ToString();