Colocar numero corelativo en el la vista _view

Buenas tardes, me preguntaba si existe la menera de llevar un numero correlativo en la vista _view

lo que necesito es que los registros que se ven así.




LIST OF MODEL


id:1

nombre:Rafael

Apellido:Jimienez


id:3

nombre:Pedro

Apellido:Perez


id:8

nombre:Antonio

Apellido:Lopez


id:14

nombre:Carlos

Apellido:torres




Los id se ven desordenados porque siempre se borran registros y se crean indiscriminadamente. ahora bien lo que necesito es de alguna manera poder llevar un numero correlatico dentro de este _view pero no se como hacerlo, de hecho no se si es posible. para que se vea de esta manera.




LIST OF MODEL


id:1

nombre:Rafael

Apellido:Jimienez


id:2

nombre:Pedro

Apellido:Perez


id:3

nombre:Antonio

Apellido:Lopez


id:4

nombre:Carlos

Apellido:torres



Por si me explique mal, no quiero cambiar el id, solo quiero crear un numero correlativo es para que las personas puedan ver un orden en los registros, osea, este numero no tiene que ser el id, la verdad necesito esto para poder sacar un reporte en el que hago una tabla de los registros y los tengo que enumerar.

por ejemplo:

1 Rafael Jiminez

2 Pedro Perez

3 Antonio Lopez

4 Carlos Torres

solo necesito algo para ver cuantos registros hay en el $dataProvider y poder en el _view poner un numero correlativo por cada registro.

Hola, no se si eso sea posible, o conveniente, ya que lo que se me ocurre ahora es hacer un ciclo que cambie los id’s, pero eso sería muy ineficiente, en realidad yo por lo menos no mostraría los id’s y como link para llevar al view usaría el nombre o un label.

Saludos

Creo que me explique mal, no quiero cambiar el id, solo quiero crear un numero correlativo es para que las personas puedan ver un orden en los registros, osea, este numero no tiene que ser el id, la verdad necesito esto para poder sacar un reporte en el que hago una tabla de los registros y los tengo que enumerar.

por ejemplo:

1 Rafael Jiminez

2 Pedro Perez

3 Antonio Lopez

4 Carlos Torres

solo necesito algo para ver cuantos registros hay en el $dataProvider y poder en el _view poner un numero correlativo por cada registro.

Te podria servir la variable $index de Yii solo tienes que sumarle uno.

No se que tengas en _view.php pero un ejemplo seria


<tr>

	<td><?php echo CHtml::encode($index+1); ?></td>

	<td><?php echo CHtml::encode($data->nombre); ?></td>	

	<td><?php echo CHtml::encode($data->apellido); ?></td>	

</tr>

Wow que facil era. no puedo creer que perdi tanto tiempo en esto T_T jajajajajaja gracias :) +1

Nota: si tu listview tiene paginación no te valdrá está solución, ya que en la página dos la númeración comenzará de 0 de nuevo.

Gracias por la advertencia, pero no tiene paginacion, la verdad es que esto lo necesito para hacer reportes, que se exportan a PDF con mpdf, es bastante util.

Buenas.

Supongo que utilizarás un DetailView o algún otro control de lista, que tendrá su propiedad data o dataProvider (que cogerás de un modelo).

Lo único que tienes que hacer es modificar la función que te carga el provider y listo.

Por defecto se usa para este tipo de controles $model->search(), que devuelve un CActiveDataProvider.

Pero puedes cambiar esa función para que devuelva un CSqlDataProvider, y ahí puedes añadir un nº correlativo en el array resutante.

Despues en el control pones como una columna ese nº y listo.

Un saludo.

<tr>

    &lt;td&gt;&lt;?php echo CHtml::encode(&#036;index+1); ?&gt;&lt;/td&gt;


    &lt;td&gt;&lt;?php echo CHtml::encode(&#036;data-&gt;nombre); ?&gt;&lt;/td&gt;    


    &lt;td&gt;&lt;?php echo CHtml::encode(&#036;data-&gt;apellido); ?&gt;&lt;/td&gt;  

</tr>

td1 & td3 i correct