Yii Framework Forum: Gridview Durch Dropdown Change Updaten - Yii Framework Forum

Jump to content

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

Gridview Durch Dropdown Change Updaten Rate Topic: -----

#1 User is offline   beat78 

  • Junior Member
  • Pip
  • Yii
  • Group: Members
  • Posts: 53
  • Joined: 13-May 11
  • Location:Zürich

Posted 17 October 2013 - 05:03 AM

Hallo Zusammen

Ziel:
Das Ziel ist es, dass das GridView nach dem ändern des Dropdown Feldes, nach dessen neuen Wert gefiltert wird, ohne dabei die Seite (Formular) neu zu laden.

Resultat des aktuellen Code:
Beim ändern des Dropdown wird immer mit dem vorherig ausgewählten Wert aktualisiert.

Weis jemand was ich da falsch mache?

jQuery Grid Updaten

<?php 
Yii::app()->clientScript->registerScript('yiiGridView.update', "

	$('.fk_branche').change(function(){
		$.fn.yiiGridView.update('my-grid');
	});
"); 
?>



Formular Dropdown

<?php $form = $this->beginWidget(
    'bootstrap.widgets.TbActiveForm',
    array(
	'id' => 'horizontalForm',
	'type' => 'horizontal',
	'enableAjaxValidation'=>true,
	)
); 
.....
<div class="row">
		<?php echo $form->labelEx($model,'fk_branche'); ?>
		<?php echo $form->dropDownList($model, 'fk_branche', CHtml::listData(BrancheTable::model()->findAll(),'primary','bezeichnung'),array('class'=>'fk_branche')); ?>
		<?php echo $form->error($model,'fk_branche'); ?>
		</div><!-- row -->
...



GridView

 $this->widget('bootstrap.widgets.TbGridView', array(
        'id'=>'my-grid',
        'dataProvider'=>AnforderungVorlageTable::model()->Anforderung($model->fk_branche),
		'selectableRows' => 2,
		'htmlOptions' => array('style'=>'width:350px;'),
        'columns'=>array(
	
        array(
            'class'=>'CCheckBoxColumn',            
            ),
        array(
            'name'  => 'titel',
			'header'  => 'Anforderung',
            'htmlOptions' => array('style'=>'width:30px;'),
			),
        ),
	)
); 

0

#2 User is offline   beat78 

  • Junior Member
  • Pip
  • Yii
  • Group: Members
  • Posts: 53
  • Joined: 13-May 11
  • Location:Zürich

Posted 18 October 2013 - 05:08 AM

so gehts tip topPosted Image

view dropdown und div (ausgewählter Wert wird mit POST an action übermittelt)

<?php echo $form->dropDownList($model, 'fk_branche', CHtml::listData(BrancheTable::model()->findAll(),'primary','bezeichnung'),array(
		'prompt'=>'Alle',

		'ajax' => array(
			'type'=>'POST', 
			'url'=>CController::createUrl('ProjektTable/GetAnforderung'),
			'update'=>'#my-grid', 
			'data'=>array('fk_branche'=>'js:this.value'),
			)		)); ?>

....

<div id="my-grid"></div>




Action in Controller (aufgerufen durch ajax)
public function actionGetAnforderung() {
	
	$data= $_POST['fk_branche'];
		
		$this->renderPartial('_grid', array(
			'data' => $data, 
        ));
	



_grid für renderpartial (DataProvider = POST von ajax)

<?php
$this->widget('zii.widgets.grid.CGridView', array(
		'id'=>'my-grid', 
		'dataProvider'=>AnforderungVorlageTable::model()->Anforderung($data),
		'selectableRows' => 2,	
		'htmlOptions' => array('style'=>'width:350px;'),
		'columns'=>array(
		
		array(
			'class'=>'CCheckBoxColumn',  
			'htmlOptions' => array('style'=>'width:15px;'),							
			),
		array(
			'name'  => 'titel',
			'header'  => 'Anforderung',
			'htmlOptions' => array('style'=>'width:30px;'),
			),
		),
		)
); 
?>



dataprovider im model (fk_branche = POST von ajax, select von DropDown)
public function Anforderung($fk_branche) {
		$criteria = new CDbCriteria;
		$criteria->compare('fk_branche', $fk_branche);
		return new CActiveDataProvider($this, array(
			'criteria' => $criteria,
		));

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