2011-09-11 15 views
5

Tengo un DataGridView que he configurado en un proyecto de WinForms. Las columnas están todas definidas en el archivo de diseñador. Cuando voy a ejecutar mi SQL, las columnas en DataGridView se reemplazan por los nombres de las columnas en la consulta.DataSet to DataGridView con Columnas predefinidas

¿Cómo puedo mantener las columnas definidas por DataGridView y simplemente agregar las filas del conjunto de datos del conjunto de datos a 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 

Respuesta

6

Necesita asociar columnas en su DataTable con columnas en su DataGridView.

Haga esto actualizando la propiedad DataPropertyName de una columna DGV con el nombre de la columna en la tabla de datos que desea mostrar en esa columna DGV. Por ejemplo, configure la propiedad DataPropertyName en su DGV para el número de cuenta en acctNum. Tenga en cuenta que puede hacer esto fácilmente en el diseñador a través del cuadro de diálogo "Editar columnas" (haga clic en el DGV en el diseñador y seleccione "Editar columnas ..." en la ventana emergente).

Tenga en cuenta que deberá configurar su DataGridView AutoGenerateColumns en false para evitar que cree columnas por sí mismo. Creo que solo puedes hacer esta configuración a través del código.

Cuestiones relacionadas