Google Groups no longer supports new Usenet posts or subscriptions. Historical content remains viewable.
Dismiss

Data Grid - paginacion

26 views
Skip to first unread message

Wilson R. Rico Camargo

unread,
Mar 15, 2004, 5:57:27 PM3/15/04
to
Tengo un datagrid el cual esta trayendo los datos segun un criterio, pero
sucede que si este retorna mas de 25 registros quiero que me los muestre
paginandolos, pero no funciona esta opcion y me sale un codigo en
javasccript que invoca el datagrid para enviarlo a la siguiente pagina pero
no funciona que debo hacer

--
Wilson R. Rico Camargo
Bogota - Colombia


urjose

unread,
Mar 16, 2004, 1:54:43 AM3/16/04
to
Si colocas un poco del código que utilizas te podríamos ayudar mejor

--
Este mensaje no implica responsabilidad alguna.
-----------------------------------------
José Manuel Chávez Uribe
Programador
Accenture Technology Solutions


"Wilson R. Rico Camargo" <noco...@hotmail.com> escribió en el mensaje
news:uybWKDuC...@TK2MSFTNGP12.phx.gbl...

Wilson R. Rico Camargo

unread,
Mar 16, 2004, 9:06:59 AM3/16/04
to
No, es que la propiedad del datagrid tiene manejo de paginacion y uno le
define cuantos registros puede mostrar en pantalla y como desear manejar las
paginas pero cuando se corre no funciona.

Wilson R. Rico Camargo

unread,
Mar 16, 2004, 9:15:36 AM3/16/04
to
El codigo de la pagina es pero lo que esta en rojo no funciona
 
<script language="javascript">
<!--
 function __doPostBack(eventTarget, eventArgument) {
  var theform;
  if (window.navigator.appName.toLowerCase().indexOf("netscape") > -1) {
   theform = document.forms["Form1"];
  }
  else {
   theform = document.Form1;
  }
  theform.__EVENTTARGET.value = eventTarget.split("$").join(":");
  theform.__EVENTARGUMENT.value = eventArgument;
  theform.submit();
 }
// -->
</script>
 
   <Div ID="queryDiv"><Table ID="queryTable" Width="100%">
     <TR>
      <TD style="WIDTH: 182px">
       <span id="lTextFind">Digite el valor a buscar...</span>
      </TD>
      <TD>
       <input name="tbValueFind" type="text" value="PEREZ" id="tbValueFind" style="width:342px;" />
       <input type="submit" name="buttonLoad" value="Buscar" id="buttonLoad" accesskey="b" />
      </TD>
     </TR>
    </Table>
   </Div>
   <BR>
   <table cellspacing="0" cellpadding="3" rules="cols" bordercolor="#999999" border="1" id="masterDataGrid" style="background-color:White;border-color:#999999;border-width:1px;border-style:None;font-size:Smaller;height:50px;width:100%;border-collapse:collapse;">
 <tr style="color:White;background-color:#000084;font-family:Verdana;font-size:Small;font-weight:bold;height:10px;">
  <td style="width:2cm;">Nit</td><td style="width:0.5cm;">DV</td><td>Nombre y/o razon social</td><td>Direccion</td><td>Telefono</td>
 </tr><tr style="color:Black;background-color:#EEEEEE;">
  <td>10006635</td><td>0</td><td>PEREZ CASTRO EDWIN ANDRES</td><td>CRA 1 BIS NRO 22 B 21</td><td>0000000</td>
 </tr><tr style="color:Black;background-color:Gainsboro;">
  <td>10006898</td><td>0</td><td>PEREZ ANGARITA JULIAN GUILLERMO</td><td>CRA 18 NO 59-55 APTO 402</td><td>0000000</td>
 </tr><tr style="color:Black;background-color:#EEEEEE;">
  <td>100135</td><td>5</td><td>GRISALES PEREZ PAUSILIPO</td><td>CLL 10 31A 132 ARROYOHONDO YUM</td><td>0000000</td>
 </tr><tr style="color:Black;background-color:Gainsboro;">
  <td>10015646</td><td>1</td><td>PEREZ SALAZAR DAVID FELIPE</td><td>CR 49 #49-73 PISO 6</td><td>2518851</td>
 </tr><tr style="color:Black;background-color:#EEEEEE;">
  <td>1001749</td><td>6</td><td>PEREZ FUENTES FULGENCIO</td><td>CARRERA 7 N 7-72-74</td><td>0000000</td>
 </tr><tr style="color:Black;background-color:Gainsboro;">
  <td>10019599</td><td>1</td><td>PEREZ BEDOYA ALEJANDRO</td><td>CARRERA 23 BIS NRO 73 33CUBA</td><td>0273057</td>
 </tr><tr style="color:Black;background-color:#EEEEEE;">
  <td>10020836</td><td>2</td><td>JARAMILLO PEREZ JUAN JERONIMO</td><td>CLL 41 NRO 11 26</td><td>0362185</td>
 </tr><tr style="color:Black;background-color:Gainsboro;">
  <td>100217</td><td>0</td><td>PEREZ FUENTES JOSE ANTONIO</td><td>CALLE 36 SUR # 44 30</td><td>2022729</td>
 </tr><tr style="color:Black;background-color:#EEEEEE;">
  <td>1002269</td><td>7</td><td>RESTREPO PEREZ CESAR GUSTAVO</td><td>CRA 49B  47 A 50  APTO 501</td><td>2601590</td>
 </tr><tr style="color:Black;background-color:Gainsboro;">
  <td>10028609</td><td>3</td><td>PEDRAZA PEREZ OVIDIO HERACLIO</td><td>CALLE 12 6 28</td><td>7540223</td>
 </tr><tr style="color:Black;background-color:#EEEEEE;">
  <td>10031030</td><td>0</td><td>PEREZ COLINA CARLOS ANDRES</td><td>CRA 14 62 24 PLUMON</td><td>3261707</td>
 </tr><tr style="color:Black;background-color:Gainsboro;">
  <td>1003428</td><td>6</td><td>FERNANDEZ PEREZ CRISTOBAL</td><td>VRDA. SAN PABLO. FINCA EL PORVENIR</td><td>0000000</td>
 </tr><tr style="color:Black;background-color:#EEEEEE;">
  <td>10040061</td><td>7</td><td>PEREZ ALZATE DIEGO AURELIO</td><td>CORREGIMIENTO SANTA ANA</td><td>0000000</td>
 </tr><tr style="color:Black;background-color:Gainsboro;">
  <td>1004097</td><td>6</td><td>PEREZ BONILLA LUIS MARIA</td><td>CELULA C. MANZ.4 CASA3 TIMIZA</td><td>2834531</td>
 </tr><tr style="color:Black;background-color:#EEEEEE;">
  <td>100418</td><td>4</td><td>PEREZ PEREZ JOSUE ISIDRO</td><td>CALLE 67 B NRO 54-26</td><td>2711001</td>
 </tr><tr style="color:Black;background-color:Gainsboro;">
  <td>1004997</td><td>1</td><td>PEREZ BONILLA LUIS MESIAS</td><td>CL 22 S 16 16</td><td>3612074</td>
 </tr><tr style="color:Black;background-color:#EEEEEE;">
  <td>1005188</td><td>2</td><td>BOLIVAR PEREZ JUAN JOSE</td><td>TRNAS56 NO. 1 A 27</td><td>0000000</td>
 </tr><tr style="color:Black;background-color:Gainsboro;">
  <td>10055034</td><td>3</td><td>PEREZ ESPANA MIGUEL ANGEL</td><td>CRA. 5A NRO 37 B 57</td><td>0066213</td>
 </tr><tr style="color:Black;background-color:#EEEEEE;">
  <td>10055989</td><td>1</td><td>ROJAS PEREZ HECTOR FABIO</td><td>CLL.5N N.15AE-06 SAN EDUARDO</td><td>0000000</td>
 </tr><tr style="color:Black;background-color:Gainsboro;">
  <td>10056036</td><td>2</td><td>ARIAS PEREZ HERNAN</td><td>VEREDA SAN JOSE</td><td>0000000</td>
 </tr><tr style="color:Black;background-color:#EEEEEE;">
  <td>10056251</td><td>1</td><td>PEREZ LOPEZ JUAN ALBERTO</td><td>CRA 6  14-30</td><td>0000000</td>
 </tr><tr style="color:Black;background-color:Gainsboro;">
  <td>10056312</td><td>0</td><td>CUELLAR PEREZ RIGOBERTO</td><td>LAURELES 2 MZ E CS 1 CUBA</td><td>0278556</td>
 </tr><tr style="color:Black;background-color:#EEEEEE;">
  <td>10057544</td><td>7</td><td>PEREZ VILLA LUIS ALFONSO</td><td>CLL 71 N 24B-08 B CUBA</td><td>0000000</td>
 </tr><tr style="color:Black;background-color:Gainsboro;">
  <td>10057696</td><td>8</td><td>CALLE PEREZ JESUS ELI</td><td>CLL 10 NRO 10 B 17</td><td>0000000</td>
 </tr><tr style="color:Black;background-color:#EEEEEE;">
  <td>10057862</td><td>4</td><td>PEREZ SALAZAR ALBERTO</td><td>CLL 20 15 41 OF 201</td><td>0000000</td>
 </tr><tr align="Left" style="color:Black;background-color:#999999;">
  <td colspan="5"><span><Anterior</span>&nbsp;<a href="javascript:__doPostBack('masterDataGrid$_ctl29$_ctl1','')" style="color:Black;">Siguiente></a></td>
 </tr>
</table>
  </form>
 </body>
</HTML>

Sergio Florez M.

unread,
Mar 16, 2004, 9:46:41 AM3/16/04
to
Lo que pasa es que no es suficiente con solo modificarle las propiedades de paginacion al datagrid para que esta funcione. Es necesario programarle el evento OnPageIndexChanged. Lo que haces es que a tu datagrid le asignas el metodo que se encarga de paginar por medio de esta propiedad asi:
 
OnPageIndexChanged="Dtg1_PageIndexChanged"
 
Luego generas el metodo:
 
  private void Dtg1_PageIndexChanged(object source,DataGridPageChangedEventArgs e)
  {
   Dtg1.CurrentPageIndex = e.NewPageIndex; //Le dices la nueva pagina a mostrar
   LlenarGrid(); //Vuelves a llenar el grid
  }
Hace como un mes hubo una discusion sobre el funcionamiento de este tipo de paginaciones. Como puedes ver no es muy eficiente que digamos ya que cada vez que cambies la pagina debes traerte la totalidad de los registros. Si manejas pocos registros no habrá mucho problema, pero en el momento en que lo veas lento deberias pensar en usar DataAdapters y la sobrecarga de su metodo Fill que limita la cantidad de registros a capturar.
 
Fill(DataSet, string, IDataReader, int, int)

--
Sergio Florez M.
Medellín, Colombia
 
 
"Wilson R. Rico Camargo" <noco...@hotmail.com> escribió en el mensaje news:#neTZ$1CEHA...@TK2MSFTNGP11.phx.gbl...

Guille!.Net

unread,
Mar 16, 2004, 10:28:56 AM3/16/04
to
Creo que la siguiente sobrecarga aplica mas al ejemplo ... (Tomado del MSDN)
 
public int Fill(
   DataSet dataSet,
   int startRecord,
   int maxRecords,
   string srcTable
);
 

dataSet
A DataSet to fill with records and, if necessary, schema.

startRecord
The zero-based record number to start with.

maxRecords
The maximum number of records to retrieve.

srcTable
The name of the source table to use for table mapping.
 
Nos vemos ...
 

Guillermo González Arroyave [Guille!.Net]
"Sergio Florez M." <sergio...@hotmail.com> wrote in message news:OMoP2V2C...@tk2msftngp13.phx.gbl...

Wilson R. Rico Camargo

unread,
Mar 16, 2004, 10:49:30 AM3/16/04
to
Pues me haz orientado muy bien, pero me toco incluir en el codigo que calculara de nuevo el DataSet ya que esta guardando los valores en una temporal.
 
Gracias

Sergio Florez M.

unread,
Mar 16, 2004, 11:16:19 AM3/16/04
to
Eso, esa era la sobrecarga a la que me refería pero al parecer me equivoqué al hacer el copy/paste. Gracias por la corrección.

--
Sergio Florez M.
Medellín, Colombia
 
 
"Guille!.Net" <gugo...@epm.net.co> escribió en el mensaje news:#qXCnt2C...@TK2MSFTNGP11.phx.gbl...

Wilson R. Rico Camargo

unread,
Mar 16, 2004, 11:18:07 AM3/16/04
to
Veo que esta es la forma de trabajar llenando de nuevo el data grid pero, me queda la duda ya que el datagrid tiene los datos ya almacenados y si hacen un me.mydatagrid.pagecount les trae el numero de paginas que tiene dispuestas por la seleccion hecha.

Sergio Florez M.

unread,
Mar 16, 2004, 11:56:28 AM3/16/04
to
Es cierto, pero si le dices Datagrid.Items.Count te dice la cantidad de registros que tiene enlazados y si tu lo tienes limitado a 20 registros por pagina solo te va a decir que tiene 20 Items, los otros no los guarda en su estructura y por eso hay que volverlos a enlazar.

--
Sergio Florez M.
Medellín, Colombia
 
 
"Wilson R. Rico Camargo" <noco...@hotmail.com> escribió en el mensaje news:uZx9rI3C...@TK2MSFTNGP11.phx.gbl...

Wilson R. Rico Camargo

unread,
Mar 16, 2004, 12:10:06 PM3/16/04
to
Bueno sin embargo muchas gracias, el manejo del fill desactivaria el manejo de los botones de paginacion por lo tanto hago un fill normal.
 
A la hora del te no se demora ya que la busqueda la hace por un full-text search el cual es muy rapido.
0 new messages