2013-09-20 2 views
0

У меня есть DataGridView на форме в C# из 7 столбцов, которые мне нужны на этом DGV 6 из них будут вытащены из SQL DB, а 1 из них мне нужно вручную ввести и ссылку столбец. Одна вещь, которую я собираюсь сделать для меня (я думаю), состоит в том, что столбец вручную имеет одинаковые данные в каждой строке.DataGridView databound и ручной столбец

Я заполняю этот DGV с использованием данных, но я не понимаю, как добавить ручные столбцы и связанные данные в один и тот же DGV. Моя раскладка колонка будет выглядеть следующим образом:

Column1 - DB Населенное

Столбец2 - DB Населенные

Column3 - DB Населенное

column4 - DB Населенное

Column5 - DB Населенные

Column6 - DB Населенный пункт

Column7 - Вручную Населенные

Может кто-то пожалуйста, объясните мне, как я хотел бы сделать что-то вроде этого. если вы можете включить данные, относящиеся к датам, также это будет большой помощью, чтобы я мог проверить, что я, по крайней мере, делаю это правильно.

+0

Есть ли ** соответствующий столбец в добавленных вручную колонки ** в основной источник данных ('DataTable')? –

+0

Нет. Значение в заполненном вручную colomn (для всех строк) - это «Просмотреть детали», который является ссылкой colomn. он не связан с заполненными DB значениями – Cindrella

+0

Если это так, вам не нужен так называемый «столбец с ручной привязкой», потому что у нас нет базового источника данных для привязки, почему бы не установить значения ячеек вручную в добавленный столбец? Или у вас есть другой источник данных, из которого можно извлекать данные? –

ответ

1

Не знаю, почему это должно быть так сложно - не держите столбцы изначально в Datagrid. Привязывание его к источнику данных, а затем добавить столбцы вручную

private void button1_Click(object sender, EventArgs e) 
     { 
       con.Open(); 
       SqlCommand com = new SqlCommand("select * from yourtable", con); 
       SqlDataAdapter adp = new SqlDataAdapter(com); 
       DataSet ds = new DataSet(); 
       adp.Fill(ds); 
       dataGridView1.DataSource = ds.Tables[0]; 
       dataGridView1.Columns.Add("manualcolumn", "manualcolumn"); 
     } 

В качестве альтернативы:

private void button1_Click(object sender, EventArgs e) 
     { 
       con.Open(); 
       SqlCommand com = new SqlCommand("select * from yourtable", con); 
       SqlDataAdapter adp = new SqlDataAdapter(com); 
       DataTable dt = new DataTable(); 
       adp.Fill(dt); 
       dataGridView1.DataSource = dt; 
       dataGridView1.Columns.Add("manualcolumn", "manualcolumn"); 
     } 

con является SqlConnection

0

Пожалуйста, обратитесь This Link

Я надеюсь, что это даст вам подсказку о добавлении динамических столбцов в Grid-зрение.

Смежные вопросы