![]() |
Se puede usar datareader con un datagrid HOla me gusaria saber si se puede enlazar un datareader con un datagrid, para ke cargue los datos el datagrid. gracias |
Usando un SP y un reader ... ... oComando.Parameters.Add("@opc", SqlDbType.Int) : oComando.Parameters.Item("@opc").Value = opc oComando.Parameters.Add("@param1", SqlDbType.Char, 12) : oComando.Parameters.Item("@param1").Value = Param1.ToString oComando.Parameters.Add("@param2", SqlDbType.Char, 12) : oComando.Parameters.Item("@param2").Value = Param2.ToString MyDR = oComando.ExecuteReader ElGrid.DataSource = MyDR ElGrid.DataBind() 'LLENAR EL GRID |
sp? que es eso? |
Es un ejemplo usando un STORE PROCEDURE , perdon si no fui especifico. Bueno, tambien lo puedes implementar directamente desde codigo sin usar el proc.almacenado, pero en lo particular tiene mas ventajas usar los proc.almacenados (acceso a datos) que hacerlo todo en el codigo. saludos |
Hola Aqui te pongo un ejemplo de como hacerlo, parto de que en la página exista un datagrid llamado grid y el ejemplo te lo puse en VB con conexión a SQL. 'Crear una conexión y abrirla Dim myConnection As New SqlClient.SqlConnection("tu cadena de conexión") myConnection.Open() ' Crear el comando Dim myCommand As New SqlClient.SqlCommand("Select * from CUSTOMERS", myConnection) ' Crear el DataReader Dim myReader As SqlClient.SqlDataReader ' Con el método ExecuteReader() del comando se traen los datos myReader = myCommand.ExecuteReader() ' Asignarle al grid el DataReader grid.DataSource = myReader Me.DataBind() ' Cerrar la conexión (utomáticamente cerrará el DataReader) myConnection.Close() espero te sea útil. Saludos Deulis |
Pues asi de sencillo como te han dicho, DataGrid.DataSource = DataReader DataGrid.DataBind() Yo lo he probado en web forms y funciona perfecto :si: pero una vez, probando no recuerdo que jeje, lo intente pero en una aplicacion windows y esto me dio error.. :pensando: Es que no se puede hacer en win forms? o seria que me falto algo? El codigo es igual pero sin el DataBind, aunque apenas al asignar el datasource al datagrid me salia un error, no recuerdo exactamente que pero se que decia algo de que el origen de datos del datagrid debia implementar ilistcolecttion.. Alquien lo ha hecho en aplicaciones windows? Saludos y gracias. |
Además se obtiene el mismo error en web si el grid se pagina. No he revizado porque. |
Lo primero, el DataBinding en aplicaciones de escritorio exige que haya una copia en memoria de los datos, por otro lado el DataSource tiene que implementar la interfaz IList , según lo dicho anteriormente, no es posible asignar el DataReader como DataSource de un control (el DataReader implementa la Interfaz IEnumerable) Ahora, sobre la paginación de un DataGrid (web), éste necesita todos los datos que se van a mostrar para calcular las el número de páginas y esas cosas, si deseas más control sobre la paginación, puedes implementar una paginación personalizada... Saludos |
Respuesta: Se puede usar datareader con un datagrid Gracias por abrir este tema me has salvado la vida sino no aprobaba el curso xD !!!!!!!!!!!!!!! mil gracias!!!! |
Respuesta: Se puede usar datareader con un datagrid Cita:
Dim Conexion As New SqlClient.SqlConnection("tu cadena de conexión") Conexion.Open() Dim Comando As New SqlClient.SqlCommand("CONSULTA", Conexion) Dim DR As SqlClient.SqlDataReader DR= Comando.ExecuteReader() Dim DT as new DataTable DT.Load (DR) grid.DataSource = DT |
| La zona horaria es GMT -6. Ahora son las 20:46. |
Desarrollado por vBulletin® Versión 3.8.7
Derechos de Autor ©2000 - 2026, Jelsoft Enterprises Ltd.