2012-02-15 3 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 {Index = 1} в первой ячейке.

+1

Вы не могли бы разместить свое решение в ответ на свой вопрос? (и принять его). Это нормально. –

+0

@GertArnold ОК, я делаю это в будущем, не знал, что это нормально из-за этого: «Пользователи с менее 100 репутацией не могут ответить на свой вопрос в течение 8 часов после запроса. 3 часа. До тех пор, пожалуйста, используйте комментарии или измените свой вопрос ». плохо делать это через 3 часа –

ответ

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); 
     } 
Смежные вопросы