cdatacolumn cbuttoncolumn cactivedataprovider php yii cgridview

php - cbuttoncolumn - cgridview yii 1



cómo seleccionar y obtener la Id. de fila de Cgridvew de yii (2)

Debe agregar una propiedad de id a su configuración de CGridView :

''id'' => ''station-grid'',

luego, en cualquier punto de su código de JavaScript, puede obtener las filas actualmente seleccionadas con:

var selected = $(''#station-grid'').yiiGridView(''getSelection'');

Por ejemplo, podría usar lo anterior en un controlador de click en cada tr de su grilla. Depende de usted, cómo integrarlo en su javascript.

He estado trabajando en el framework yii de los últimos 10 días. Hice mucho en mi proyecto, pero me quedé con un problema. en la siguiente tabla, cuando hago clic en cualquier fila, debería obtener los datos de la fila seleccionada en el diálogo de jquery y debe abrirse cuando se hace clic en el botón Editar en la barra de herramientas de la tabla.

como ejemplo, cuando hago clic en cualquier fila en las filas enumeradas, se debe resaltar y, si se hace clic en el botón Editar, se debe abrir el formulario de diálogo con los datos de fila seleccionados. aquí está mi código .....

<table class="display" id="dt3"> <ul class="table-toolbar"> <li><a href="#" id="create-user"><img src="<?php echo Yii::app()->request->baseUrl; ?>/images/icons/basic/plus.png" alt="" /> Add</a></li> <li><a href="#"><img src="<?php echo Yii::app()->request->baseUrl; ?>/images/icons/basic/delete.png" alt="" /> Delete</a></li> <li><a href="#" id="create-user2"><img src="<?php echo Yii::app()->request->baseUrl; ?>/images/icons/basic/edit.png" alt="" /> Edit</a></li> </ul> <ul> <table class="display" id="dt4"> <tr> <?php $dataProvider=new CActiveDataProvider(''Station''); $this->widget(''zii.widgets.grid.CGridView'', array ( ''dataProvider''=>$dataProvider, ''itemsCssClass''=>''display'', ''summaryText''=>'''', ''rowCssClass''=>array(''odd gradeX'',''even gradeC''), ''htmlOptions''=>array(''class''=>''display''), ''columns''=>array( array ( ''name''=>''Station Name'', ''value''=>''$data->Station_Name'', ), array ( ''name''=>''Status '', ''value''=>''$data->Status_value'', ), array ( ''name''=>''Description '', ''value''=>''$data->Station_Description'', ), array ( ''name''=>''Order ID '', ''value''=>''$data->OrderID'', ), array ( ''name''=>''Updated By '', ''value''=>''$data->Updated_by'', ), ), ) ); ?> </tr> </table> </ul> </table> <div id="dialog-form" title="Add/Edit Station" class="box-content" style="height: 100px"> <form action="index.php?r=setting/stations" method="POST"> <div class="form-row"> <label class="form-label">Station Name</label> <div class="form-item"> <input type="text" name="station_name" /> </div> </div> <div class="form-row"> <label class="form-label">Description</label> <div class="form-item"> <input type="text" name="station_description"/> </div> </div> <div class="form-row"> <label class="form-label">Order Id</label> <div class="form-item"> <input type="text"name="order_Id" /> </div> </div> <div class="form-row"> <label class="form-label">Updated By</label> <div class="form-item"> <input type="text" name="updated_by" /> </div> </div> <ul style="float:right;"> <li style="float:right;"><a href="#"><input type="submit" class="button small green" value="Add Station"></a></li> </ul> </form> </div>


Para todos los identificadores de fila marcados usamos esto

var id = $.fn.yiiGridView.getChecked("your-grid-id", "selectedIds"); // array of seleted id''s from grid

Si hacemos clic en la fila, podremos obtener una identificación como esta

var id = $.fn.yiiGridView.getSelection(grid_id); var id = id[0];