ASP.net vincula el conjunto de datos a gridview

Tengo un conjunto de datos con aproximadamente 15 columnas, y también tengo una vista de cuadrícula ASP.net. Me preguntaba si alguien sabía cómo puedo rellenar el gridview con el conjunto de datos, pero el problema es que solo quiero algunas de las columnas del conjunto de datos.

en este momento estoy haciendo

GridView1.DataSource = ds; GridView1.DataBind(); 

pero esto obviamente vincula todas las columnas del conjunto de datos a la vista de cuadrícula.

¿Así que estás buscando crear columnas en tiempo de ejecución? Prueba esto:

http://www.codeproject.com/KB/aspnet/dynamic_Columns_in_Grid.aspx

Alternativamente, puede configurar su vista de cuadrícula con anticipación en el aspx:

      

Y asegúrese de configurar AutoGenerateColumns en falso.

El GridView por defecto generará automáticamente todas las columnas basadas en los datos que se están enlazando.

Establezca GridView.AutoGenerateColumns = false y luego defina las columnas que desea a través de la propiedad GridView.Columns .

Puedo ver dos formas de hacer esto, dependiendo de lo que pueda cambiar y de lo que tenga que ser así:

1) Si tiene el control de la consulta / proc que genera el conjunto de datos, y puede hacerlo sin afectar negativamente a otras cuadrículas / páginas, modifique la consulta para que solo SELECCIONE las columnas que utiliza. Aún puede usar columnas no seleccionadas en ÚNASE y DÓNDE, y obtiene la ventaja adicional de no tener que agregar todas las columnas a ORDENAR POR.

2) Si solo tienes el control de la cuadrícula y el código que se usa para generarla, puedes establecer como un parámetro DataGrid, AutoGenerateColumns = false, y luego anidar dentro de tu DataGrid, los BoundFields que debes mostrar. Esto también le permite el poder formatear, hacer nombres de columnas, etc.

Si puedes hacer ambas cosas, tu Cuadrícula también debería cargarse más rápido.

Establezca las cuadrículas AutoGeneratedColumns en falso y establezca las columnas que desea utilizar en el diseñador de gridview o en el código. Pero tiene que establecer la propiedad DataField en la columna al mismo que el nombre de

 SqlCommand comm = new SqlCommand("Select required fields from YourTable, conn); conn.Open(); SqlDataReader rdr = comm.ExecuteReader(); GridView1.DataSource = rdr; GridView1.DataBind(); rdr.Close(); 

Esto imprimirá solo los campos requeridos.