2014-01-22 3 views
0

Как связать данные с datagridview?Привязать к datagridview

DataTable table = new DataTable(); 
string pot = "Provider=Microsoft.Ace.OLEDB.12.0; Data Source = " + textbox_path.Text + ";Extended Properties=\"Excel 8.0; HDR=Yes;\";"; 
OleDbConnection pove = new OleDbConnection(pot); 
OleDbDataAdapter myDataAdapter = new OleDbDataAdapter("Select * from [" + textbox_sheet.Text + "$]", pove); 
DataTable dt = new DataTable(); 
myDataAdapter.Fill(dt); /* napaka | oldedb driver ? :O*/ 
dataGridView1.DataSource = dt; 
+0

У вас есть ошибка? Сколько строк находится в datatable. По моему опыту, даже если таблица пуста, загружаются заголовки столбцов. Вы их получили? – wruckie

+0

Я исправил его :) для вашей помощи. – user3218707

+0

Можете ли вы поделиться тем, что исправлено? Кто-то собирается пойти позади нас с той же проблемой и не будет знать, что делать. Отправьте свой ответ и отметьте его как ответ. – wruckie

ответ

0

В конце добавить: -

dataGridView1.DataBind(); 
0

Если вы работаете в веб-приложении, вы должны добавить dataGridView1.DataBind(); после dataGridView1.DataSource = dt;.

Else сообщите нам, в чем проблема в вашем предыдущем коде? Это ошибка?

+0

System.Windows.Forms.DataGridView 'не содержит определения для «DataBind» и не может быть найден метод расширения «DataBind», принимающий первый аргумент типа «System.Windows.Forms.DataGridView» (вам не хватает директивы using или ссылку на сборку?) – user3218707

+0

Какую платформу вы используете? Веб или Windows? Я думаю, что его окна соответствуют сообщению об ошибке, поэтому нет необходимости в DataBind(). Только если вы назначили источник, достаточно того, что вы уже делаете. Так в чем проблема в вашем коде? – Naveen

+0

Я вижу, мне не нужно связывать в форме окна. Мне нужно это, чтобы работать, и парень сказал, что мне нужно привязать данные к datagrid. http://stackoverflow.com/questions/21255274/compare-datagridview1-and-datagridview2-and-mark-same-values-c-sharp – user3218707

0

Хотя вы не упоминаете, этот вопрос был помечен, как WinForms. Winforms не требуется
dataGridView1.DataBind();
Вы не указали нам никаких ошибок или намеков относительно того, где он терпит неудачу. Я подозреваю, что он находится в формировании этой строки соединения или оператора select. Код для привязки данных к DGV верен

string pot = "Provider=Microsoft.Ace.OLEDB.12.0; Data Source = " + textbox_path.Text + ";Extended Properties=\"Excel 8.0; HDR=Yes;\";"; 
OleDbConnection pove = new OleDbConnection(pot); 
OleDbDataAdapter myDataAdapter = new OleDbDataAdapter("Select * from [" + textbox_sheet.Text + "$]", pove); 
Смежные вопросы