Foros del Web » Programación para mayores de 30 ;) » .NET »

Llenar un maestro-detalle, en gridview, a traves de un procedimiento almacenado

Estas en el tema de Llenar un maestro-detalle, en gridview, a traves de un procedimiento almacenado en el foro de .NET en Foros del Web. Saludos: Estoy trabajando en Aspx con visual Basic .Net 2005 y necesito llenar un maestro-detalle a traves de procedimientos almacenados. He visto unos códigos por ...
  #1 (permalink)  
Antiguo 29/12/2008, 15:47
Avatar de Slackin  
Fecha de Ingreso: noviembre-2007
Ubicación: Puerto Montt, Chile
Mensajes: 86
Antigüedad: 16 años, 5 meses
Puntos: 4
Sonrisa Llenar un maestro-detalle, en aspxgridview a traves de un procedimiento almacenado

Saludos:
Estoy trabajando en Aspx con visual Basic .Net 2005 y necesito llenar un maestro-detalle a traves de procedimientos almacenados. He visto unos códigos por ahi, pero llenan los gridview a traves SqlDataadapter.
¿Quien tiene algun código muy básico como para entender como se hace esto.?



Gracias

Última edición por Slackin; 07/03/2009 a las 18:55
  #2 (permalink)  
Antiguo 30/12/2008, 03:56
Avatar de JavierB
Colaborador
 
Fecha de Ingreso: febrero-2002
Ubicación: Madrid
Mensajes: 25.052
Antigüedad: 22 años, 2 meses
Puntos: 772
Respuesta: Llenar un maestro-detalle, en gridview, a traves de un procedimiento almac

Mensaje movido al foro de .NET desde Bienvenida a Foros del Web.

Saludos,
  #3 (permalink)  
Antiguo 13/02/2009, 09:03
Avatar de Slackin  
Fecha de Ingreso: noviembre-2007
Ubicación: Puerto Montt, Chile
Mensajes: 86
Antigüedad: 16 años, 5 meses
Puntos: 4
Respuesta: Llenar un maestro-detalle, en gridview, a traves de un procedimiento almac

Me respondo solo:
He aquí muestro el código que hice: Una grilla aspxgridview(devexpress) que la lleno a traves de una llamada a un procedimiento almacenado:

Código:
    Sub RecuperarAutos(ByVal sUsuarioName As String, _
                            ByVal iIdMarca As Integer, _
                            ByVal iRuedas As Integer, _
                            ByVal sColor As String, _
                            ByVal dFecha As DateTime, _
                            ByVal sDetalles As String)
        Dim ws As New misproyectos_vb.ws_Autos.cn_Autos
        Dim oDatos As New DataSet
        Dim sMsError As String = ""
        Dim boResultado As Boolean

        Try
            boResultado = ws.boListarAutosconFiltro(sUsuarioName, _
                                                                iIdMarca, _
                                                                iRuedas, _
                                                                sColor, _
                                                                dFecha, _
                                                                sDetalles, _
                                                                oDatos, _
                                                                sMsError)


            Dim cantidadFilas As Integer = oDatos.Tables(0).Rows.Count
            ASPxGridView_Autos.DataSource = oDatos.Tables(0)
            ASPxGridView_Autos.DataBind()
            ASPxGridView_Autos.KeyFieldName = "id_serie_auto"
            oDatos.Dispose()
            End If

        Catch ex As Exception
            Response.Write(ex.ToString)
        End Try
    End Sub
Este proyecto fue hecho en tres capas. Si alguien quiere mas detalles del código, que no dude en escribir
  #4 (permalink)  
Antiguo 06/03/2009, 05:57
 
Fecha de Ingreso: marzo-2009
Mensajes: 1
Antigüedad: 15 años, 1 mes
Puntos: 0
Respuesta: Llenar un maestro-detalle, en gridview, a traves de un procedimiento almac

Estoy intentando lo mismo (tambien con un aspxgridview). Me funciona correctamente creando los sqldatasource pero tambien me gustaria poder utilizar vistas, procedimientos almacenados definidos directamente en el SQL y no el proyecto.

Agradeceria me ayudaras indicandome los pasos que has seguido (codigo de las vistas/procedimientos almacenados, ....), no se, lo que consideres oportuno.

Un saludo y muchas gracias
  #5 (permalink)  
Antiguo 06/03/2009, 13:09
Avatar de Slackin  
Fecha de Ingreso: noviembre-2007
Ubicación: Puerto Montt, Chile
Mensajes: 86
Antigüedad: 16 años, 5 meses
Puntos: 4
Respuesta: Llenar un maestro-detalle, en gridview, a traves de un procedimiento almac

Ok, tengo un proyecto funcionando en 3 capas, con lo que tu requieres.. Como el proyecto tiene informacion privada, estoy cambiando algunas cosas para mostrarte como funciona...
Este fin de semana debería poner el código en esta página.

Saludos
  #6 (permalink)  
Antiguo 07/03/2009, 18:50
Avatar de Slackin  
Fecha de Ingreso: noviembre-2007
Ubicación: Puerto Montt, Chile
Mensajes: 86
Antigüedad: 16 años, 5 meses
Puntos: 4
Respuesta: Llenar un maestro-detalle, en gridview, a traves de un procedimiento almac

Bien, el proyecto esta formado por 3 archivos(Visual Basic 2005), un procedimiento almacenado "Recupera_Alumno"(sin parámetros) y una base de datos(Sql Server 2005 llamada) "Colegio":
(1)Alumno.aspx
(2)Alumno_capa_de_negocio.asmx(Web service ws_alumno)
(3)Conexion_Base_de_datos.asmx(Web service ws_AdmConexionBD)

El archivo alumno.aspx se comunica con "Alumno_capa_de_negocio.asmx", y este ultimo hace uso del archivo "Conexion_Base_de_datos.asmx".

El detalle de los archivos a acontinuación:

alumno.aspx.vb
Código:
Public Partial Class Alumno
    Inherits System.Web.UI.Page

    Protected Sub Page_Load(ByVal sender As Object, ByVal e As System.EventArgs) Handles Me.Load
        If (Not IsPostBack) Then

        End If
        RecuperarAlumno()

    End Sub


    Sub RecuperarAlumno()
        Dim ws As New ws_alumno.Alumno_capa_de_negocio
        Dim oDatos As New DataSet
        Dim sMsError As String = ""
        Dim boResultado As Boolean

        Try
            boResultado = ws.boListarAlumno(oDatos, sMsError)


            Dim cantidadFilas As Integer = oDatos.Tables(0).Rows.Count
            ASPxGridView_Decomisos.DataSource = oDatos.Tables(0)
            ASPxGridView_Decomisos.DataBind()
            ASPxGridView_Decomisos.KeyFieldName = "Rut_Alumno"
            oDatos.Dispose()

        Catch ex As Exception
            Response.Write(ex.ToString)
        End Try
    End Sub


End Class
alumno.aspx
Código:
<html xmlns="http://www.w3.org/1999/xhtml" >
<head runat="server">
    <title>Página sin título</title>
</head>
<body>
    <form id="form1" runat="server">
    <div>
        <dxwgv:ASPxGridView ID="ASPxGridView_Decomisos" runat="server" AutoGenerateColumns="False">
            <Columns>
                <dxwgv:GridViewDataTextColumn Caption="Rut_Alumno" FieldName="Rut_Alumno" VisibleIndex="0">
                </dxwgv:GridViewDataTextColumn>
                <dxwgv:GridViewDataTextColumn Caption="Nombre_Alumno" FieldName="Nombre_Alumno" VisibleIndex="1">
                </dxwgv:GridViewDataTextColumn>
                <dxwgv:GridViewDataTextColumn Caption="Apellido_Alumno" FieldName="Apellido_Alumno"
                    VisibleIndex="2">
                </dxwgv:GridViewDataTextColumn>
                <dxwgv:GridViewDataTextColumn Caption="Curso_Alumno" FieldName="Curso_Alumno" VisibleIndex="3">
                </dxwgv:GridViewDataTextColumn>
                <dxwgv:GridViewDataTextColumn Caption="Colegio_Alumno" FieldName="Colegio_Alumno"
                    VisibleIndex="4">
                </dxwgv:GridViewDataTextColumn>
            </Columns>
        </dxwgv:ASPxGridView>
    
    </div>
    </form>
</body>
</html>

Alumno_capa_de_negocio.asmx:
Código:
Imports System.Web.Services
Imports System.Web.Services.Protocols
Imports System.ComponentModel

<System.Web.Services.WebService(Namespace:="http://tempuri.org/")> _
<System.Web.Services.WebServiceBinding(ConformsTo:=WsiProfiles.BasicProfile1_1)> _
<ToolboxItem(False)> _
Public Class Alumno_capa_de_negocio
    Inherits System.Web.Services.WebService


    <WebMethod()> _
        Function boListarAlumno(ByRef oDatos As DataSet, ByRef sErrMsg As String) As Boolean

        Dim oAdmConexion As New ws_AdmConexionBD.Conexion_Base_de_datos
        Dim sSql As String = ""
        Dim boRetorno As Boolean = True
        Dim sConn As String = ""

        sErrMsg = ""

        Try

            sSql = "Recupera_Alumno"
            boRetorno = oAdmConexion.boGetDataSet(sConn, sSql, oDatos, sErrMsg)
        Catch ex As Exception
            sErrMsg = ex.ToString
            boRetorno = False
        End Try

        Return (boRetorno)
    End Function

End Class
Conexion_Base_de_datos.asmx:
Código:
Imports System.Web.Services
Imports System.Web.Services.Protocols
Imports System.ComponentModel
Imports System.Data
Imports System.Data.SqlClient


<System.Web.Services.WebService(Namespace:="http://tempuri.org/")> _
<System.Web.Services.WebServiceBinding(ConformsTo:=WsiProfiles.BasicProfile1_1)> _
<ToolboxItem(False)> _
Public Class Conexion_Base_de_datos
    Inherits System.Web.Services.WebService
    Public sConexionBD As String

    <WebMethod()> _
    Public Function boGetDataSet(ByVal sConn As String, _
                                ByVal sSql As String, _
                                ByRef oDatos As DataSet, _
                                ByRef sMsgErr As String) As Boolean

        Dim oConexion As New SqlConnection()
        Dim oComandoSql As SqlCommand
        Dim oAdapatadorSql As SqlDataAdapter
        Dim boHuboError As Boolean = False
        Try
            oConexion.ConnectionString = "Server=(local); Database=Colegio; uid=sa; pwd=bdcolegio12345;"
            oComandoSql = New SqlCommand("Recupera_Alumno", oConexion)
            oAdapatadorSql = New SqlDataAdapter(oComandoSql)
            oAdapatadorSql.Fill(oDatos, "Datos")
            oAdapatadorSql.Dispose()
            oComandoSql.Dispose()
        Catch ex As Exception
            sMsgErr = ex.ToString
            boHuboError = True
        End Try
        Return (Not boHuboError)
    End Function

End Class
bueno, eso es todo. Espero que a alguien le funcione.


at 2009-03-07

Última edición por Slackin; 07/03/2009 a las 18:56
  #7 (permalink)  
Antiguo 13/05/2014, 09:55
Avatar de ASDRUBAL2112  
Fecha de Ingreso: septiembre-2013
Mensajes: 12
Antigüedad: 10 años, 7 meses
Puntos: 0
Pregunta Respuesta: Llenar un maestro-detalle, en gridview, a traves de un procedimiento almac

Hola, me gustaría saber ¿Cómo realizas la paginación de la grilla del devexpress?, y como agregar y eliminar el filter por columna.

Gracias.
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 16:59.