Yii Framework Forum: Obtener parámetros de filtrados para un reporte - Yii Framework Forum

Jump to content

Page 1 of 1
  • You cannot start a new topic
  • You cannot reply to this topic

Obtener parámetros de filtrados para un reporte Rate Topic: -----

#1 User is offline   Bushi 

  • Junior Member
  • Pip
  • Yii
  • Group: Members
  • Posts: 72
  • Joined: 16-April 15

  Posted 27 August 2015 - 04:35 PM

Buen día a todos,
Necesito obtener los datos de filtrado de un Gridview para hacer un reporte. Actualmente lo hago enviando al view el searchModel y creo el botón fijando los parámetros que el modelo de búsqueda tiene en la ruta del link de manera que se envien como parámetros a la acción que me crea el pdf. pero no estoy seguro de que sea la mejor manera y tampoco estoy contento con eso XD pero si funciona. El código:

view :

Html::a('Pdf', ['pdf', 'ModelSearch' => [ 
    'dato1' => $searchModel['dato1'],
    'dato2' => $searchModel['dato2'], 
    'dato3' => $searchModel['dato3'],
]], ['class' => 'btn btn-primary'])


Alguno me podría indicar alguna manera de hacerlo que sea más correcta. o la forma obvia que no me fijé XD
gracias por su tiempo.
yii2 guide
please ! use yii2
0

#2 User is offline   estebanhere30 

  • Junior Member
  • Pip
  • Yii
  • Group: Members
  • Posts: 58
  • Joined: 13-November 14
  • Location:Colombia

Posted 28 August 2015 - 08:15 AM

buenos días bushi lo que podrías hacer es guardar en una variable de session el filtro y utilizarlo en la vista donde lo vas a renderizar....

En tu model
$_SESSION['datos_filtrados'] = new CActiveDataProvider($this, array(
			'criteria'=>$criteria,
			'sort'=>$sort,
			'pagination'=>false,
		));


y lo utilizas en tu view
1

#3 User is offline   Bushi 

  • Junior Member
  • Pip
  • Yii
  • Group: Members
  • Posts: 72
  • Joined: 16-April 15

Posted 28 August 2015 - 09:13 AM

View Postestebanhere30, on 28 August 2015 - 08:15 AM, said:

buenos días bushi lo que podrías hacer es guardar en una variable de session el filtro y utilizarlo en la vista donde lo vas a renderizar....

En tu model
$_SESSION['datos_filtrados'] = new CActiveDataProvider($this, array(
			'criteria'=>$criteria,
			'sort'=>$sort,
			'pagination'=>false,
		));


y lo utilizas en tu view


mmm me parece bien creo que es más elegante que pasar todos los parámetros a la vista :D gracias.
yii2 guide
please ! use yii2
0

#4 User is offline   lordiego2015 

  • Junior Member
  • Pip
  • Yii
  • Group: Members
  • Posts: 24
  • Joined: 26-May 15

Posted 03 September 2015 - 07:54 AM

Hola como estas, me surgió una pregunta, esta es la forma de pasar el conjunto de resultados del filtrado o solo pasa los valores por el cual se filtraran?

Yo necesitaría tomar los datos q se eligió en el filtro y guardarlos en variables para luego llamar a cristal reports y enviarles estos parametros, por ejemplo mi tabla tiene varios campos entre ellos Año, Mes , y el operador elige en el filtro año=2015 , mes=agosto. Como puedo obtener los valores q eligió en los filtros? gracias

0

#5 User is offline   Bushi 

  • Junior Member
  • Pip
  • Yii
  • Group: Members
  • Posts: 72
  • Joined: 16-April 15

Posted 03 September 2015 - 09:15 AM

View Postlordiego2015, on 03 September 2015 - 07:54 AM, said:

Hola como estas, me surgió una pregunta, esta es la forma de pasar el conjunto de resultados del filtrado o solo pasa los valores por el cual se filtraran?

Yo necesitaría tomar los datos q se eligió en el filtro y guardarlos en variables para luego llamar a cristal reports y enviarles estos parametros, por ejemplo mi tabla tiene varios campos entre ellos Año, Mes , y el operador elige en el filtro año=2015 , mes=agosto. Como puedo obtener los valores q eligió en los filtros? gracias



Hola muy buenos dias, esta allí lo que hacemos es pasar los parámetros de filtrado. (pasar el resultado podria ser muy costoso si son muchos registros :blink: ). luego con esos parámetros se puede crear el ActiveDataProvider para realizar el reporte
yii2 guide
please ! use yii2
0

#6 User is offline   lordiego2015 

  • Junior Member
  • Pip
  • Yii
  • Group: Members
  • Posts: 24
  • Joined: 26-May 15

Posted 03 September 2015 - 09:42 AM

gracias por tu respuesta y perdon por la siguiente burrada, pero necesitar hacer algo asi:

$variable_anio=$_SESSION['datos_filtrados.anio']

$variable_mes=$_SESSION['datos_filtrados.mes']


se q esta horriblemente mal, pero es para darme a entender, como saco de datos_filtrados los valores de filtro, tendras un ejemplo? gracias
0

#7 User is offline   Bushi 

  • Junior Member
  • Pip
  • Yii
  • Group: Members
  • Posts: 72
  • Joined: 16-April 15

Posted 03 September 2015 - 12:04 PM

View Postestebanhere30, on 28 August 2015 - 08:15 AM, said:

buenos días bushi lo que podrías hacer es guardar en una variable de session el filtro y utilizarlo en la vista donde lo vas a renderizar....

En tu model
$_SESSION['datos_filtrados'] = new CActiveDataProvider($this, array(
			'criteria'=>$criteria,
			'sort'=>$sort,
			'pagination'=>false,
		));


y lo utilizas en tu view


bueno en este caso esteban está guardando el objeto CActiveDataProvider y podria obtenerlo luego haciendo lo siguiente en yii2:

$session = Yii::$app->session;

// obtener la variable. las dos formas son iguales:
$dataProvider = $session->get('datos_filtrados');
$dataProvider = $session['datos_filtrados'];


pero para que estes más claro lee esto Guia session y cookies ;)
yii2 guide
please ! use yii2
0

Share this topic:


Page 1 of 1
  • You cannot start a new topic
  • You cannot reply to this topic

1 User(s) are reading this topic
0 members, 1 guests, 0 anonymous users