Ver Mensaje Individual
  #1 (permalink)  
Antiguo 07/11/2011, 11:13
Avatar de stuart_david3
stuart_david3
 
Fecha de Ingreso: agosto-2011
Mensajes: 215
Antigüedad: 13 años, 3 meses
Puntos: 1
Información Generar un gridview en base a otro!!!

Hola a todos!!!

Pues verán, estoy trabajando con gridviews en aspx.net, y quisiera saber como poder generar un gridview en base a otro, el cual al seleccionar un campo en especifico (en mi caso el campo "rpe") me genere otro gridview con los campos que yo quiera (en mi caso son las incidencias o incapacidades del empleado que seleccione en el primer gridview).

Hasta el momento uso la propiedad SelectedRow y consigo que me muestre el campo que selecciono en el gridview, pero no se como hacer para generar el otro al seleccionarlo, hice una variable cadena para pasarla como parametro a mi segunda consulta del segundo gridview pero como que no me reconoce la variable ... Agradezco sus respuestas y ayudas!!!... Este es el código que hasta el momento llevo...

Código ASP:
Ver original
  1. <%@ Page language="VB" %>
  2. <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
  3.     "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
  4.  
  5. <script runat="server">
  6.  
  7.   Sub CustomersGridView_SelectedIndexChanged(ByVal sender As Object, ByVal e As EventArgs)
  8.  
  9.     Dim row As GridViewRow = CustomersGridView.SelectedRow
  10.  
  11.         MessageLabel.Text = "Has seleccionado a " & row.Cells(1).Text & "."
  12.         Dim cadena As String = row.Cells(1).Text
  13.         Label2.Text = "Has seleccionado a " & cadena & "."
  14.   End Sub
  15.  
  16.   Sub CustomersGridView_SelectedIndexChanging(ByVal sender As Object, ByVal e As GridViewSelectEventArgs)
  17.  
  18.     Dim row As GridViewRow = CustomersGridView.Rows(e.NewSelectedIndex)
  19.  
  20.     If row.Cells(1).Text = "ANATR" Then
  21.  
  22.         e.Cancel = True
  23.         MessageLabel.Text = "You cannot select " + row.Cells(1).Text & "."
  24.  
  25.     End If
  26.  
  27.   End Sub
  28.  
  29. </script>
  30.  
  31. <html xmlns="http://www.w3.org/1999/xhtml" >
  32.   <head id="Head1" runat="server">
  33.     <title>GridView Select Example</title>
  34. </head>
  35. <body>
  36.     <form id="form1" runat="server">
  37.  
  38.      <h3>GridView Select Example</h3>
  39.  
  40.      <asp:gridview id="CustomersGridView"
  41.        datasourceid="CustomersSource"
  42.        autogeneratecolumns="False"
  43.        autogenerateselectbutton="True"
  44.        allowpaging="True"
  45.        selectedindex="1"
  46.        onselectedindexchanged="CustomersGridView_SelectedIndexChanged"
  47.        onselectedindexchanging="CustomersGridView_SelectedIndexChanging"  
  48.        runat="server" DataKeyNames="rpe">
  49.  
  50.          <Columns>
  51.              <asp:BoundField DataField="rpe"
  52.                  HeaderText="RPE del Empleado"
  53.                  InsertVisible="False" ReadOnly="True"
  54.                  SortExpression="b_contra.fe_repro" />
  55.              <asp:BoundField DataField="nombre"
  56.                  HeaderText="Nombre del Empleado"
  57.                  SortExpression="c_zonas.nombre" />
  58.              <asp:BoundField DataField="Edad"
  59.                  HeaderText="Edad del Empleado"
  60.                  SortExpression="fe_inic" />
  61.                  <asp:BoundField DataField="nombrezona"
  62.                  HeaderText="Nombre de la Zona"
  63.                  SortExpression="fe_inic" />
  64.                  <asp:BoundField DataField="area"
  65.                  HeaderText="Area en que labora"
  66.                  SortExpression="fe_inic" />
  67.                  <asp:BoundField DataField="puesto"
  68.                  HeaderText="Puesto"
  69.                  SortExpression="fe_inic" />
  70.                  <asp:BoundField DataField="fe_natra"
  71.                  HeaderText="Fecha de Nacimiento"
  72.                  SortExpression="fe_inic" />
  73.                  <asp:BoundField DataField="fe_antre"
  74.                  HeaderText="Fecha de Antigüedad Reconocida"
  75.                  SortExpression="fe_inic" />
  76.                  <asp:BoundField DataField="fe_ingre"
  77.                  HeaderText="Fecha de Ingreso"
  78.                  SortExpression="fe_inic" />
  79.                  <asp:BoundField DataField="ubicacion"
  80.                  HeaderText="Ubicación"
  81.                  SortExpression="fe_inic" />
  82.                  <asp:BoundField DataField="nides"
  83.                  HeaderText="nides"
  84.                  SortExpression="fe_inic" />
  85.                  <asp:BoundField DataField="nire"
  86.                  HeaderText="nire"
  87.                  SortExpression="fe_inic" />
  88.                  <asp:BoundField DataField="fe"
  89.                  HeaderText="Fecha Probable de Jubilación"
  90.                  SortExpression="fe_inic" />
  91.                  <asp:BoundField DataField="anyjub"
  92.                  HeaderText="Años Transcurridos Desde la jubilación"
  93.                  SortExpression="fe_inic" />
  94.                  <asp:BoundField DataField="fepos"
  95.                  HeaderText="Fecha Probable Para Jubilación"
  96.                  SortExpression="fe_inic" />
  97.          </Columns>
  98.  
  99.        <selectedrowstyle backcolor="LightCyan"
  100.          forecolor="DarkBlue"
  101.          font-bold="true"/>  
  102.  
  103.      </asp:gridview>
  104.  
  105.       <br/>
  106.  
  107.       <asp:label id="MessageLabel"
  108.         forecolor="Red"
  109.         runat="server"/>
  110.          <asp:label id="Label2"
  111.         forecolor="Red"
  112.         runat="server"/>
  113.  
  114.       <asp:sqldatasource id="CustomersSource"
  115.         selectcommand="SELECT MAX(b_contra.fe_repro), MAX(c_zonas.nombre) AS nombrezona, MAX(c_puesto.puesto) AS puesto, MAX(c_a_resp.dscarea) AS area, b_traba1.rpe, MAX(b_traba1.nombre) AS nombre, b_traba1.fe_antre, b_traba1.fe_ingre, b_traba3.fe_natra, CONVERT (INT,(DATEDIFF (dd, b_traba3.fe_natra, GETDATE()) - DATEDIFF (yy, b_traba3.fe_natra, GETDATE()) / 4.25) / 365) AS Edad, MAX(b_traba1.sexotrab) AS sexo, MAX(c_ubica.ubicapza) AS ubicacion, MAX(b_traba1.cl_nides) AS nides, MAX(b_traba1.if_nire2) AS nire, fe, CASE WHEN fe<GETDATE() THEN GETDATE() ELSE null END AS fepos, CONVERT (INT,(DATEDIFF (dd, GETDATE(), fe) - DATEDIFF (yy, GETDATE(), fe) / 4.25) / 365) AS anyjub FROM (SELECT fe_antre, CASE WHEN b_traba1.sexotrab='M' THEN DATEADD(yy, 30, b_traba1.fe_antre) ELSE DATEADD(yy, 25, b_traba1.fe_antre) END AS fe FROM b_traba1) AS t1, b_traba1, b_traba3, c_zonas, c_a_resp, c_ubica, c_puesto, b_contra WHERE (DATEDIFF(yy, b_traba1.fe_antre, GETDATE()) > 25) AND (DATEDIFF(yy, b_traba3.fe_natra, GETDATE()) > 55) AND b_traba1.cl_sitla IS NULL AND c_zonas.descr=b_traba1.cl_zona AND c_a_resp.area=b_traba1.area AND b_traba1.rpe=b_traba3.rpe AND b_traba1.rpe=b_contra.rpe AND c_puesto.cl_puest=b_contra.cl_puest AND b_traba1.fe_antre=t1.fe_antre AND b_traba1.cl_ubica=c_ubica.cl_ubica GROUP BY b_traba1.rpe, b_traba1.fe_antre, b_traba1.fe_ingre, b_traba3.fe_natra, fe"
  116.         connectionstring="server=myhost;database=mydb;User ID=myID;Password=mypass;Trusted_Connection=no"
  117.         runat="server"/>
  118.         <asp:gridview id="Gridview1"
  119.        datasourceid="Sqldatasource1"
  120.        autogeneratecolumns="False"
  121.        autogenerateselectbutton="True"
  122.        allowpaging="True"
  123.        selectedindex="1"
  124.        onselectedindexchanged="CustomersGridView_SelectedIndexChanged"
  125.        onselectedindexchanging="CustomersGridView_SelectedIndexChanging"  
  126.        runat="server" DataKeyNames="rpe">
  127.  
  128.          <Columns>
  129.              <asp:BoundField DataField="rpe"
  130.                  HeaderText="RPE del Empleado"
  131.                  InsertVisible="False" ReadOnly="True"
  132.                  SortExpression="b_contra.fe_repro" />
  133.              <asp:BoundField DataField="fe_inic"
  134.                  HeaderText="Nombre del Empleado"
  135.                  SortExpression="c_zonas.nombre" />
  136.              <asp:BoundField DataField="cl_incid"
  137.                  HeaderText="Edad del Empleado"
  138.                  SortExpression="fe_inic" />
  139.                  
  140.          </Columns>
  141.  
  142.        <selectedrowstyle backcolor="LightCyan"
  143.          forecolor="DarkBlue"
  144.          font-bold="true"/>  
  145.  
  146.      </asp:gridview>
  147.  
  148.       <br/>
  149.  
  150.  
  151.       <asp:sqldatasource id="Sqldatasource1"
  152.         selectcommand="SELECT rpe, fe_inic, cl_incid FROM b_asiste WHERE cl_incid='026' AND rpe='"&cadena&"' GROUP BY rpe, cl_incid, fe_inic"
  153.         connectionstring="server=myhost;database=mydb;User ID=myID;Password=mypass;Trusted_Connection=no"
  154.         runat="server"/>
  155.  
  156.     </form>
  157.  
  158.   </body>
  159. </html>

Última edición por stuart_david3; 07/11/2011 a las 11:58