yii bootstrap + widget TbButtonColumn + widget TbButtonGroup
yii bootstrap + widget TbButtonColumn + widget TbButtonGroup
Face à un tel problème:
Tableau est formé par le widget TbGridView de bootstrap (à partir de yii-rappel). Dans la colonne TbButtonColumn je forme le "modifier /supprimer", etc.
Mais un bouton que je veux faire avec l'effet de la Scission listes déroulantes
http://yii-booster.clevertech.biz/components.html#buttonDropdowns
$this->widget('bootstrap.widgets.TbGridView', array(
'id'=>'customer-grid',
'type'=>'striped bordered condensed',
'dataProvider'=>$model->search(),
'filter'=>$model,
'columns'=>array(
'surname',
'name',
'middlename',
'dateOfBirth',
array(
'class'=>'bootstrap.widgets.TbButtonColumn',
'template'=>'{add} {list} {update} {print_act}',
'buttons'=>array
(
'add' => array
(
'label'=>'Назначить прием',
'icon'=>'plus',
'url'=>'Yii::app()->createUrl("reception/create", array("id"=>$data->id))',
'options'=>array(
'class'=>'btn btn-small',
),
),
'list' => array
(
'label'=>'Список предоставленных услуг',
'icon'=>'list white',
'url'=>'Yii::app()->createUrl("patient/update", array("id"=>$data->id))',
'options'=>array(
'class'=>'btn btn-small btn-info',
),
),
'update' => array
(
'label'=>'Изменить данные Пациента',
'icon'=>'pencil white',
'url'=>'Yii::app()->createUrl("customer/update", array("id"=>$data->id))',
'options'=>array(
'class'=>'btn btn-small btn-success',
),
),
'print_act' => array
(
'label'=>'Печать акта выполненных работ',
'icon'=>'print',
'url'=>'Yii::app()->createUrl("customer/printAct", array("id"=>$data->id))',
'options'=>array(
'class'=>'btn btn-small',
),
),
),
'htmlOptions'=>array(
'style'=>'width: 220px',
),
)
),
));
- Je n'ai pas travaillé avec TbGridView mais je pense que vous pouvez étendre la TbGridView widget. Trouver l'endroit où l'auteur original attire les boutons, puis vous pouvez remplacer cette fonction, pour commencer le bouton personnaliser le widget. D'entrée pour ce widget doit être donné à partir de TbGridView options.
Vous devez vous connecter pour publier un commentaire.
J'ai toujours trouvé que quand j'en ai besoin pour le rendu d'un élément complexe dans un gridview (surtout un widget) il est plus facile si vous appelez une fonction du contrôleur. Par exemple, votre gridview aurait colonnes qui sont définies comme ceci:
Et puis dans votre action devrait ressembler à quelque chose comme cela. Cela rend juste l'exemple de widget de Yii-booster exemple de page http://yii-booster.clevertech.biz/components.html#buttonDropdowns:
Edit: C'est aussi utile en raison de la fonction de rappel renderButtons() accepte 2 paramètres: $données $et ligne. Vous pouvez utiliser $de données pour accéder aux données à partir de la gridview du fournisseur de données pour dynamiquement le rendu d'un widget.
Je voudrais faire cela en ajoutant une autre colonne. Les deux TbColumnButton abd TbButtonGroup sont à la fois des widgets. Vous pouvez ajouter un bouton de groupe par