2016-03-29 20 views
0

Bu Kaynak Kodu:DataGridView'a veri eklemek istediğim sütunu nasıl seçerim?

private void button1_Click(object sender, EventArgs e) 
    { 
     dataGridView1.Visible = true; 
     dataGridView2.Visible = true; 
     SqlConnection con = new SqlConnection(@"Data Source=.\SQLEXPRESS;AttachDbFilename=D:\Olimpiada\SistemSolar\SistemSolar\DBSistem.mdf;Integrated Security=True;User Instance=True"); 
     con.Open(); 
     SqlCommand cmd = new SqlCommand("SELECT Denumire FROM Caracteristici", con); 
     SqlCommand cmd1 = new SqlCommand("SELECT Valoare FROM Valori", con); 
     SqlDataReader sdr = cmd.ExecuteReader(); 
     while (sdr.Read()) 
     { 
      string[] RowData = { sdr.GetString(0) }; 
      dataGridView2.Rows.Add(RowData); 
     } 
     sdr.Close(); 
     //SqlCommand cmd1 = new SqlCommand("SELECT Valoare FROM Valori", con); 
     SqlDataReader sdr1 = cmd1.ExecuteReader(); 
     while(sdr1.Read()) 
     { 
      string[] RowData1 = { sdr1.GetString(0) }; 
      dataGridView2.Rows.Add(RowData1); 
     } 
     sdr1.Close(); 
     SqlCommand cmd2 = new SqlCommand("SELECT UM FROM Caracteristici", con); 
     SqlDataReader sdr2 = cmd2.ExecuteReader(); 
     while (sdr2.Read()) 
     { 
      string[] RowData2 = { sdr2.GetString(0) }; 
      dataGridView2.Rows.Add(RowData2); 
     } 
     sdr2.Close(); 

    } 

Ve bu konuda bir sorum var: ben diğer sütuna taşımak için, ait satırda taktıktan bittikten sonra, nasıl seçebilir? Çünkü bu kodla tüm veriler sadece tek bir Sütun üzerindedir.

string[] RowData = { sdr.GetString(0) }; 
dataGridView2.Rows.Add(RowData); 

Bu her zaman ilk sütuna veri ekliyor:

cevap

0

Ben problem.I burada çözüm bırakacaktır çözüldü:

string[] x = new string[100]; 
     string[] y = new string[100]; 
     string[] z = new string[100]; 
     string[] den = new string[100]; 
     SqlConnection con = new SqlConnection(@"Data Source=.\SQLEXPRESS;AttachDbFilename=|DataDirectory|\DBSistem.mdf;Integrated Security=True;User Instance=True"); 
     con.Open(); 
     SqlCommand cmd = new SqlCommand("SELECT Denumire FROM Caracteristici", con); 
     SqlCommand cmd1 = new SqlCommand("SELECT Valoare FROM Valori", con); 
     SqlDataReader sdr = cmd.ExecuteReader(); 
     int i = 0; 
     while (sdr.Read()) 
     { 
       x[i] = sdr.GetString(0); 
       i++; 
     } 
     sdr.Close(); 
     SqlDataReader sdr1 = cmd1.ExecuteReader(); 
     i = 0; 
     while(sdr1.Read()) 
     { 
      y[i] = sdr1.GetString(0); 
      i++; 
     } 
     sdr1.Close(); 
     i = 0; 
     SqlCommand cmd2 = new SqlCommand("SELECT UM From Caracteristici", con); 
     SqlDataReader sdr2 = cmd2.ExecuteReader(); 
     while (sdr2.Read()) 
     { 
      z[i] = sdr2.GetString(0); 
      i++; 
     } 
     sdr2.Close(); 
     for (i = 0; i <= 10; i++) 
     { 
      string[] RowData = { x[i], y[i], z[i] }; 
      dataGridView2.Rows.Add(RowData); 
     } 
1

sorun satıra veri eklerken böyle ekleyerek olmasıdır. Verileri diğer sütunlara eklemek için, veriye ihtiyaç duyduğunuz sütun dizinini eklemeniz gerekir.

string[] RowData = { "Column1", sdr.GetString(0), "Column3" }; 

3 sütun varsa ikinci sütuna veri ekleyecektir.

https://msdn.microsoft.com/en-us/library/system.windows.forms.datagridview.rows(v=vs.110).aspx

+0

Hello! Yanıtınız için teşekkür ederim ... Benim sorum başka biriydi (kaynak kodumu kontrol et) .. İlk sütunu doldurduktan sonra (RowData), veritabanımda anotehr tablosundan eklemek zorunda olduğum sonraki veriler için başka bir Okuyucu açtım . RowData1 = {RowData, sdr1.Getstring (0)}, RowData'yı yerel bir varibale olarak bildirdiğim sürece kullanamam. –

0

Bu fikir, ben bunu almak umut! Bu örnek doldurulmuş tüm sütunları satır ekleyecektir:

foreach (var item in Logs) 
{ 
    string[] row = new string[] { item.Id, item.Name, item.Description }; 

    dataGridView.Rows.Add(row); 
    dataGridView.ClearSelection(); 
    dataGridView.Rows[dataGridView.Rows.Count - 1].Selected = true; 
    dataGridView.FirstDisplayedScrollingRowIndex = dataGridView.Rows.Count - 1; 
} 

string[] row = new string[] { item.Id, item.Name, item.Description }; sırası sizin DataGridView Sütunlar sipariş eşit olmalıdır.

Kodumdaki kodlar List<Log>, ancak başka bir koleksiyon türü ile çalışmalıdır.

Günlükler çeşitli nesnelerle doldurulursa, bu örnek aynı miktarda satır ekler.

İlgili konular