2012-02-15 162 views
0

我想將存儲的CustomDataGridViewRow添加到綁定的DataGridView中。就像如下:將行添加到綁定的datagridview

CustomDataGridViewRow rowTemplate = new CustomDataGridViewRow(); 
dataGridView1.RowTemplate = rowTemplate; 

Datenbank.cmd = 
    new SqlCommand("[Terminauswertung_Bericht_Gesamt]", Datenbank.connection); 
Datenbank.cmd.CommandType = CommandType.StoredProcedure; 
Datenbank.cmd.Parameters.AddWithValue("@berichtsnr", 1); 

SqlDataAdapter adapter = new SqlDataAdapter(Datenbank.cmd); 
dataSet1.Tables.Clear(); 
adapter.Fill(dataSet1, "Table"); 
bs = new BindingSource(); 
bs.DataSource = dataSet1.Tables["Table"]; 
dataGridView1.DataSource = bs; 

想到它會是這樣的:

dataSet1.Tables[0].Rows.Add(Cache.getRow(1)); 

public class cache 
{ 
    Dictionary<int, CustomDataGridViewRow> _cache = 
     new Dictionary<int, CustomDataGridViewRow>(); 

    public CustomDataGridViewRow getRow(int index) 
    { 
     foreach (KeyValuePair<int, CustomDataGridViewRow> dic in _cache) 
     { 
      if (dic.Key == index) 
       return (dic.Value); 
     } 
     return (new CustomDataGridViewRow());    
    } 
} 

但它只能說明我的DataGridViewRow {指數= 1}在第一個單元格。

+1

你介意張貼您的解決方案作爲一個回答你自己的問題? (並接受它)。這樣做完全可以。 – 2012-02-15 22:47:38

+0

@GertArnold 好吧,我今後這樣做,不知道是不是因爲這個: 「聲譽低於100的用戶在詢問後8小時內無法回答自己的問題,您可以自己回答3小時,在此之前請使用評論,或者編輯你的問題。「 生病3小時 – 2012-02-15 23:48:01

回答

0

解決它

DataRow newRow =test.Tables[0].NewRow(); 


newRow.ItemArray = Cache.getRowValues(child); 
test.Tables[0].Rows.InsertAt(newRow, c.Index+1); 

public string[] getRowValues(int index) 
     { 
      List<string> temp = new List<string>(); 
      foreach (KeyValuePair<int, CustomDataGridViewRow> dic in _cache) 
      { 
       if (dic.Key == index) 
       { 
        foreach (DataGridViewCell cell in dic.Value.Cells) 
         temp.Add(cell.Value.ToString()); 
       } 
      } 
      string[] result = temp.ToArray(); 

      return (result); 
     } 
相關問題