İçeriğe geç
ShiftDelete.Net
Haber ara/ SDN'ye SorGiriş
Haber Akışı SDNTV İnceleme Forum Yapay Zeka Akıllı Telefon Elektrikli Otomobil Oyun ShiftDelete.Net Global Teknoloji Haberleri Mobil Otomobil Donanım Savunma Bilim Sosyal Medya İnternet Giyilebilir Teknoloji Rehber Ürünler Sinema Dizi Akıllı Ev Motosiklet Mikromobilite Kripto Para Sağlık Teknolojileri Son dakika Yazarlar
  1. Ana sayfa
  2. Topluluk
  3. Programlama
  4. Programlama Dilleri
Programlama Dilleri

C# datagridview sütunları hakkında

UgurOnline09.10.20103 cevap5.081 görüntüleme
#1
arkadaşlar aşağıdaki kodla datagridviewi dolduruyorum. daha sonra farklı bir formdan insert yapıp hemen arkasından tekrar datagridi doldurduğumda kalan ve tutar sütunları yer değiştiriyor bunu nasıl önlerim?

kalan sütunu manuel yaratılıyor. form loa olurkan ödenen - kalan - tutar şeklinde sütunlar diziliyor, insertten sonra ödenen - tutar - kalan dizilişine dönüyor :bored:

public void DoldurGrid()
        {
            SqlCommand cmd = new SqlCommand("Select * from liste order by tarih", con);
            SqlDataAdapter da = new SqlDataAdapter(cmd);
            DataSet ds = new DataSet();
            da.Fill(ds);
            dataGridView1.DataSource = ds.Tables[0];
            
            dataGridView1.RowsDefaultCellStyle.SelectionBackColor = Color.LightGoldenrodYellow;
            dataGridView1.RowsDefaultCellStyle.SelectionForeColor = Color.Black;

            ds.Tables[0].Columns.Add(new DataColumn("Kalan", typeof(string)));
            foreach (DataRow dr in ds.Tables[0].Rows)
            {
                decimal tutar = Int32.Parse(dr[8].ToString());
                decimal odenen = Int32.Parse(dr[7].ToString());
                decimal kalan = (tutar - odenen);

                dr["Kalan"] = kalan.ToString("C");
            }
            foreach (DataGridViewRow gvrow in dataGridView1.Rows)
            {
                gvrow.Height = 35;
            }                    
        }
Cevaplar
#2
Belki saçma bir yöntem olabilir ama insert sorgusu çalıştıkdan sonra o sütunleri silip yeni sütun oluşturabilirsin.
#3
on 2 kolon yer değiştireceğine göre DisplayIndex değerlerini yer değiştirdiğin zaman düzelmesi lazım. Yani Datagridview 'ı doldurduktan sonra ve kalan kolonunu ekledikten sonra aşağıdaki kodu yazacaksın.

int gecici = dataGridView1.Columns[dataGridView1.ColumnCount - 2].DisplayIndex;
dataGridView1.Columns[dataGridView1.ColumnCount - 2].DisplayIndex = dataGridView1.Columns[dataGridView1.ColumnCount - 1].DisplayIndex;
dataGridView1.Columns[dataGridView1.ColumnCount - 1].DisplayIndex = gecici;
UgurOnline Konuyu açan
#4
bu sefer dahada sapıttı. hatayı anladım sanırım. load kısmında 7.sütun ödenen, 8.sütun ise tutar. hemen ardından tam arasına kalan sütunu ekleniyor bu sefer tutar 9. sütun durumuna geçiyor. aşağıdaki kodda sütun numaraları verilen yere direk sütun ismini yazdırsak en mantıklısı olucak sanırım. bunu nasıl yaparız?

decimal tutar = Int32.Parse(dr[8].ToString());
decimal odenen = Int32.Parse(dr[7].ToString());


---------- Post added at 19:50 ---------- Previous post was at 19:40 ----------

çözdüm ama ne kadar sağlıklı bi yönemdir bilmiyorum

ilk olarak sql'de kalan isminde sütun oluşturdum

aşağıdaki kodu sildim
ds.Tables[0].Columns.Add(new DataColumn("Kalan", typeof(string)));

Cevabını yaz

Cevap yazmak için giriş yap ya da üye ol. Eski forum kullanıcı adın ve parolanla girebilirsin.