Foros del Web » Programando para Internet » ASPX (.net) »

Consulta con parametro de otra página Gridview!

Estas en el tema de Consulta con parametro de otra página Gridview! en el foro de ASPX (.net) en Foros del Web. Hola a todos, quisiera saber como hacerle para mandar un parámetro a un gridview en el que me muestre solo los campos que pertenecen a ...
  #1 (permalink)  
Antiguo 16/07/2012, 12:49
Avatar de stuart_david3  
Fecha de Ingreso: agosto-2011
Mensajes: 215
Antigüedad: 12 años, 8 meses
Puntos: 1
Información Consulta con parametro de otra página Gridview!

Hola a todos, quisiera saber como hacerle para mandar un parámetro a un gridview en el que me muestre solo los campos que pertenecen a un usuario, en específico, es decir, tengo mi página de login, el usuario entra y para cada usuario tengo campos diferentes, como hago para que al loguearse alguien me muestre en el gridview los registros que tienen el parámetro del usuario que se logueo?...
  #2 (permalink)  
Antiguo 16/07/2012, 13:31
Avatar de AWesker  
Fecha de Ingreso: octubre-2008
Mensajes: 177
Antigüedad: 15 años, 6 meses
Puntos: 27
Respuesta: Consulta con parametro de otra página Gridview!

Pues, considero que lo más adecuado es que al loguearse crees una variable de sesión que tengo el Id_Usuario. Dicha variable se convertiriía en tu filtro. Pero debes tener cuidado de no perder el filtro.

Saludos...
  #3 (permalink)  
Antiguo 16/07/2012, 13:55
Avatar de stuart_david3  
Fecha de Ingreso: agosto-2011
Mensajes: 215
Antigüedad: 12 años, 8 meses
Puntos: 1
Respuesta: Consulta con parametro de otra página Gridview!

Ok! Pero, ¿cómo le digo al gridview que escuche esa variable?... Lo intente de esta manera con el Request.QueryString:

Lo mando:

Código vb:
Ver original
  1. 'Aqui recibo el correo que quiero pasar como parametro de una página anterior
  2. Dim Para = Request.QueryString("datos")
  3. Response.Redirect("ListaFunc1.aspx?datos=" + Para.ToString())

Aquí recibo el parámetro y lo meto en mi consulta:

Código vb:
Ver original
  1. Protected Sub Page_Load(ByVal sender As Object, ByVal e As System.EventArgs) Handles Me.Load
  2.         'Dim idName As String = HttpContext.Current.User.Identity.Name
  3.        Dim funcionario = Request.QueryString("datos")
  4.         TextBox1.Text = funcionario
  5.     End Sub

Código ASP:
Ver original
  1. <asp:SqlDataSource ID="SqlDataSource1" runat="server" ConnectionString="<%$ ConnectionStrings:DBPRUEBAConnectionString %>"
  2.             SelectCommand="SELECT [id], [rpe], [nombre], [numplazaant], [numplazaact] FROM [Reemplazos3], [UsuarioosReemplazos] WHERE [UsuariosReemplazos].correo = @Correo">
  3.             <UpdateParameters>
  4.                 <asp:ControlParameter Name="Address" ControlId="Correo" PropertyName="Text"/>                
  5.                 </UpdateParameters>
  6.         </asp:SqlDataSource>

Pero me marca el siguiente error:

Debe declarar la variable '@Correo'.

Hay alguna manera de hacerlo diferente?... Es que antes había utilizado el gridview con mi VS2005 y SQL2000 (que son los que tengo) para eliminar, insertar y modificar registros pero me causo varios conflictos con la sintaxis muy parecida a la que he puesto, de lo mismo, el error de la declaración de la variable en SQL, siendo que al usar VS2010 y SQL2008 no tuve problemas...

Ojalá y me pudieran ayudar.

Saludos!...
  #4 (permalink)  
Antiguo 16/07/2012, 15:43
Avatar de AWesker  
Fecha de Ingreso: octubre-2008
Mensajes: 177
Antigüedad: 15 años, 6 meses
Puntos: 27
Respuesta: Consulta con parametro de otra página Gridview!

El SQLDataSource tiene una propiedad que se llama SelectParameters, este parámetro puede ser el valor de un control una sesión, un valor fijo, un QueryString una cookie, entro otros. Desde el modo diseño podes especificar el parámetro. Te quedaría algo así:

Código ASP:
Ver original
  1. 'El SelectParameter que utilizo es para un QueryString. El valor QueryStringField es el nombre del QueryString
  2. <asp:SqlDataSource ID="SqlDataSource1" runat="server"
  3.                 ConnectionString="<%$ ConnectionStrings:MIBDConnectionString %>"
  4.                 SelectCommand="SELECT * FROM [MiTabla] WHERE ([Id_Campo] = @Id_Filtro)">
  5.                 <SelectParameters>
  6.                     <asp:QueryStringParameter DefaultValue="0" Name="Id_Filtro"
  7.                         QueryStringField="Qry" Type="Int32" />
  8.                 </SelectParameters>
  9.             </asp:SqlDataSource>

Desde el asistente del SQLDataSource vas a aver que es muy intuitivo.
  #5 (permalink)  
Antiguo 17/07/2012, 09:00
Avatar de stuart_david3  
Fecha de Ingreso: agosto-2011
Mensajes: 215
Antigüedad: 12 años, 8 meses
Puntos: 1
Respuesta: Consulta con parametro de otra página Gridview!

Wow, wow, wow, millones de gracias AWesker al final me quedo de esta manera y gracias a Dios funciona al 100 n_n...

Código ASP:
Ver original
  1. <asp:SqlDataSource ID="SqlDataSource1" runat="server" ConnectionString="<%$ ConnectionStrings:DBPRUEBAConnectionString %>"
  2.             SelectCommand="SELECT [id], [rpe], [nombre], [numplazaant], [numplazaact] FROM [Reemplazos3] WHERE [funcionario_en_revision] = @Correo">
  3.             <SelectParameters>
  4.                     <asp:QueryStringParameter DefaultValue="TextBox1" Name="Correo"
  5.                         QueryStringField="datos" Type="String" />
  6.                 </SelectParameters>
  7.         </asp:SqlDataSource>

De nuevo muchas gracias n_n...

Etiquetas: gridview, parametro, sql, aspx
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 08:31.