Ver Mensaje Individual
  #2 (permalink)  
Antiguo 10/02/2012, 13:28
Avatar de Fann_Lavigne
Fann_Lavigne
 
Fecha de Ingreso: diciembre-2004
Mensajes: 622
Antigüedad: 19 años, 11 meses
Puntos: 12
Respuesta: Stored Procedure, dividir varias consultas en varios gridview

Hola, me tome la libertad de hacer un ejemplo porque la vdd me parecio algo muy interesante y queria saber si se podia hacer como me lo habia imaginado, la verdad es que si se puede y no necesitas clases raras. Basicamente, si tu llenas un DataSet con su Stored Procedure que devuelve 3 Select, en tu DataSet tendras 3 Tablas, una por cada Select, lo unico que deberas hacer es accederlas a ellas por sus indices, a continuacion un ejemplo en codigo.

Código VB:
Ver original
  1. Dim cnx As New SqlConnection(ConnectionStrings.Item("MiCnx").ToString) 'Obtenemos la conexion del web.config, lo puedes harcodear si deseas
  2.        Dim adp As New SqlDataAdapter
  3.         Dim cmd As New SqlCommand
  4.         Dim ds As New DataSet
  5.  
  6.         With cmd
  7.             .CommandText = "sp_SP_3Selects" 'Este Sp tiene 3 Selects adentro
  8.            .CommandType = CommandType.StoredProcedure
  9.             .Connection = cnx
  10.         End With
  11.  
  12.         adp = New SqlDataAdapter(cmd)
  13.         adp.Fill(ds, "sp3selects") 'Se le pone un nombre a la tabla 1, las demas tablas se nombran en automatico con estas y su indice
  14.        cnx.Close()
  15.  
  16.         With Me.gv_Uno
  17.             .DataSource = ds.Tables.Item(0) 'Apuntamos a la tabla cero, la primera
  18.            .DataBind()
  19.         End With
  20.  
  21.         With Me.gv_Dos
  22.             .DataSource = ds.Tables.Item(1) 'Apuntamos a la tabla 1, la segunda
  23.            .DataBind()
  24.         End With
  25.  
  26.         With Me.gv_Tres
  27.             .DataSource = ds.Tables.Item(2) 'Apuntamos a las tabla 2, la tercera.
  28.            .DataBind()
  29.         End With

gv_Uno, gv_Dos y gv_Tres, son 3 GridViews distintos ya creados en el HTML de la pagina.
Espero esto te haya servido, saludos.
__________________
"Entre Mas Brillante Es Una Mente, Tiene Que Luchar Contra Demonios Internos Mas Poderosos"
[email protected]