This is a migrated thread and some comments may be shown as answers.

Usando SQLDataReader para llenar un GridView

2 Answers 434 Views
GridView
This is a migrated thread and some comments may be shown as answers.
Ruben
Top achievements
Rank 1
Ruben asked on 07 Dec 2011, 04:31 PM

Hola a todos:

Escribo en español, porque mi inglés no es muy bueno. De igual forma, espero que puedan ayudarme.
Tengo un GridView y quiero llenarlo con datos desde un Store Procedure, mediante un SWLDataReader. Al ejecutar la aplicación, me muestra la cuadrícula del Grid, pero no se visualiza ningún dato.

Este es el procedimiento que llena (o por lo menos trata) el grid.

Friend Sub LlenaDatosIniciales(ByVal FechaIni As String, ByVal FechaFin As String, ByVal gvArt As RadGridView)

 

 

cmdComProv.Connection = cnnConexion

cmdComProv.CommandText =

 

"EXEC superCompraVenta '" & FechaIni & "','" & FechaFin & "',1"

 

If cnnConexion.State = ConnectionState.Open Then

 cnnConexion.Close()

 

 

 

End If

 

cnnConexion.Open()

rdrComProv = cmdComProv.ExecuteReader

 

 

gvArt.MasterTemplate.LoadFrom(rdrComProv)

 

 

 

cnnConexion.Close()

 

 

 

End Sub


Saludos
Ruben 

2 Answers, 1 is accepted

Sort by
0
Accepted
Javier Gonzalez de Aragon
Top achievements
Rank 2
answered on 08 Dec 2011, 07:42 PM
Para usar la propiedad  .LoadFrom() tienes que tener definida previamente los nombres de las columnas en el Grid de acuerdo con los campos que te arroja el SP. Para que el grid se cargue automáticamente usa la propiedad .DataSource=rdrComProv

Saludos,

Javier Gonzalez de Aragon
0
Ruben
Top achievements
Rank 1
answered on 10 Dec 2011, 12:50 AM
Hola Javier:

Gracias por haber atendido mi inquietud. Con la instrucción que me comentas quedó resuelto mi problema.

Agrego el procedimiento de como quedó:

 Friend Sub LlenaDatosIniciales(ByVal FechaIni As String, ByVal FechaFin As String, ByVal Tipo As Integer, _
                                ByVal gvArt As RadGridView)


        cmdComProv.Connection = sqlConexion

        cmdComProv.CommandTimeout = 60000

        cmdComProv = New SqlCommand("superCompraVenta", sqlConexion)

        cmdComProv.CommandType = CommandType.StoredProcedure

        cmdComProv.Parameters.AddWithValue("@FechaIni", FechaFin)

        cmdComProv.Parameters.AddWithValue("@FechaFin", FechaIni)

        cmdComProv.Parameters.AddWithValue("@Tipo", Tipo)

        If sqlConexion.State = ConnectionState.Open Then

            sqlConexion.Close()

        End If

        sqlConexion.Open()

        rdrComProv = cmdComProv.ExecuteReader

        gvArt.DataSource = rdrComProv            ' Aquí llena el Grid View

        sqlConexion.Close()

    End Sub


Saludos,

Rubén
Tags
GridView
Asked by
Ruben
Top achievements
Rank 1
Answers by
Javier Gonzalez de Aragon
Top achievements
Rank 2
Ruben
Top achievements
Rank 1
Share this question
or