Devo filtrare CGridView con campo di testo personalizzato. Ho personalizzato dataprovider (CSqlDataProvider) che ritorno e riempire il tavolo con. La tabella va bene, ma quello che mi sembra un dolore è filtrarlo. Ho passato alcune ore a cercare di capirlo e il supporto è scarso. Ho visto che c'è qualche metodo jQuery usato per aggiornare CGridView e che ci vuole il parametro 'data', il cui valore non so come formattare. Ecco cosa ho creato nel mio file/create in cui ho bisogno di questa cosa.Filtro CGridView con campo di testo personalizzato
PHP:
<?php
Yii::app()->clientScript->registerScript('search', "
$('.search-form form').submit(function(){
$.fn.yiiGridView.update('studentiSaSmjeraData', {
data: $(this).serialize(), -----------> this should be changed to get data from my text input using GET I guess, but I dont know the format
});
return false;
});
");
?>
HTML e PHP considerando modulo di ricerca:
<div class="search-form">
<p>
Pretraga po broju indeksa:
</p>
<?php $form=$this->beginWidget('CActiveForm', array(
'action'=>Yii::app()->createUrl($this->route),
'method'=>'get',
)); ?>
<div class="row">
Broj indeksa: <input type="text" class="br_ind" name="br_ind" id="br_ind" value=""></input>
</div>
<div class="row buttons">
<?php echo CHtml::submitButton('Search'); ?>
</div>
<?php $this->endWidget(); ?>
</div>
La colonna in dataProvider voglio confrontare questo testo con si chiama 'br_ind'.
EDIT: Sembra che il nome del campo di input e id hanno a che fare qualcosa con questo troppo (che dovrebbero essere in qualche formato specifico). Il mio problema è che i dati non provengono da nessun modello specifico. È ottenuto da un prodotto tabella e alcuni vincoli aggiuntivi su due tabelle, quindi non ho un modello particolare per l'uso di filtri o altro che abbia un supporto (afaik) in Yii. Ma quello che voglio sembra semplice, eppure trasformato in un incubo per me. La documentazione sui parametri di funzionamento è così scarsa. Spero che qualcuno possa aiutarti. Chiunque si è imbattuto in questo e non ha potuto risolverlo?
può si prega di aggiungere il codice che genera il tuo GridView? – Asped
stai cercando qualcosa di simile? http://yiiplayground.com/index.php?r=UiModule/dataview/gridView se così può essere facilmente con le funzionalità native CGridView standard. Fammi sapere che arriverò con una spiegazione più dettagliata nella risposta. –
Aggiungi il tuo codice cgridview e, se possibile, allegare schermate in modo da comprendere meglio la tua domanda. –