DataSet to DataGridView с предопределенными столбцами - PullRequest
5 голосов
/ 12 сентября 2011

У меня есть DataGridView, который я настроил в проекте WinForms. Все столбцы определены в файле конструктора. Когда я запускаю SQL, столбцы в DataGridView заменяются именами столбцов в запросе.

Как сохранить столбцы, как определено DataGridView, и просто добавить строки из набора данных из набора данных в GridView.

//Columns as they appear in the DataGridView
 Name | Address | City | State | Zip | Account Num |

//Populate the gridView
DataSet ds = Account.search(strSearch);
accountGrid.DataSource = ds.Tables[0];

//query
string sql = "SELECT distinct acctNum, name, address, city, state, zip from accounts";
return DataService.GetDataSet(sql);

//The End Result of the columns
acctNum | name | address |city | state | zip

1 Ответ

8 голосов
/ 12 сентября 2011

Вам необходимо связать столбцы в DataTable со столбцами в DataGridView.

Сделайте это, обновив свойство DataPropertyName столбца DGV, указав имя столбца в таблице данных, которую вы хотите отобразить в этом столбце DGV. Например, установите свойство DataPropertyName в вашем DGV для номера счета на acctNum. Обратите внимание, что вы можете легко сделать это в конструкторе через диалоговое окно «Редактировать столбцы» (откройте диалоговое окно, щелкнув правой кнопкой мыши DGV в конструкторе и выбрав «Редактировать столбцы ...» во всплывающем окне).

Обратите внимание, что вам необходимо установить AutoGenerateColumns для DataGridView на false, чтобы он не создавал столбцы самостоятельно. Я считаю, что вы можете сделать эту настройку только через код.

...