Cgrid con un fieldtext

Hola estimados amigos, me gustaria saber si pueden ayudarme con el siguiente problema

Tengo un Cgridview y me gustaria que una de esas columnas contenga un textfield donde el usuario pueda ingresar un valor cualquiera, o podria ser un combobox o lista desplegabla tambien .

Desde ya muchas gracias, soy muy nuevo en esto jajaja.

Si, es posible, solamente que se te va a hacer dificil optener el valor de todos los text field


$this->widget('zii.widgets.grid.CGridView', array(

	'id'=>'equipo-grid',

	'dataProvider'=>$model->search(),

	'filter'=>$model,

	'columns'=>array(

		'id',

		'serie',

        array('header'=>'drop down list', 'value'=>'CHtml::dropDownList("serie","", array("a"=>"uno", "b"=>"dos", "c"=>"tres"))','type'=>'raw'),

        array('header'=>'text field', 'value'=>'CHtml::textField("nombre","",array("size"=>"5"))','type'=>'raw'),

		'ssh',

		array(

			'class'=>'CButtonColumn',

		),

	),

));

Saludos

Gracias "bachem" agradesco mucho tu ayuda, y quisiera si podes darme una manito para poder recuperar el dato ahora. Gracias otra ves

voy a ver si te puedo ayudar.

Si ves en el actionCreate o en actionUptade de tu controlador vas a ver que dice




if(isset($_POST["Tumodelo"])){

    $model= new Tumodelo;

    $model->attributes= $_POST["TuModelo"];

}



Esto lo que quiere decir es que si se envia mediante post un arreglo de atributos llamado Tumodelo se crea dicho modelo y se le asignan los valores que vienen por post ($model->attributes= $_POST["TuModelo"])

El tema es el siguiente, si haces un textbox por cada una de las filas del del cgridview vas a tener 10, 20 o hasta 100 campos con el mismo nombre, por lo que va a ser muy dififil (mas no imposible) recoger cada una de las lineas del cgridview,sin embargo si me comentas que es exactamente lo que quieres hacer podriamos ver que podemos hacer

Estimado gracias nuevamente por la ayuda te comento este es mi codigo:

<form name="form1" method="POST" action="click">

<?php

$this->widget(‘zii.widgets.grid.CGridView’, array(

'id'=&gt;'productos-grid',


'dataProvider'=&gt;&#036;dataProvider,


//'filter'=&gt;&#036;model,


'ajaxUpdate'=&gt;false,


'columns'=&gt;array(


	'id',


	'titulo',


	'detalle',


	'precio',


	'marca',


	/*'venta'=&gt;


		array(


		'header'=&gt;'Cantidad',


		'name'=&gt;'venta',


		'value'=&gt;'CHtml::textField(&quot;cantidad&quot;,&quot;&quot;,array(&quot;id&quot;=&gt;&quot;canVendida&quot;,&quot;size&quot;=&gt;&quot;3&quot;))',


		'type'=&gt;'raw'


		),


	/*


	'activo',


	'imagen',


	'canVendida',


	*/


	array(


		'class'=&gt;'CDataColumn',


		'name'=&gt;'Datos',


		'value'=&gt;'',


		'type'=&gt;'raw',


		'footer'=&gt;'',


	),


	array(


		'class'=&gt;'CCheckBoxColumn',


		'selectableRows'=&gt;10,


		'header'=&gt;'Comprar',


		'name'=&gt;'comprar',


		'value'=&gt;'&#036;data-&gt;id',


		


	),


	/*array(


		'class'=&gt;'CButtonColumn',


	),*/


),

));

//&lt;?php echo CHtml::submitButton(&#036;model-&gt;isNewRecord ? 'Create' : 'Save'); 

?>

<input type="submit" name="button3" id="button3" value="Enviar pedido">

</form>

lo que hago es tomar datos de una tabla de productos con ciertos campos, luego armo la tabla con esas columnas y un textbox donde eligen la cantidad de que desean comprar, luego con un boton de enviar del formulario lo paso a la actionClick.

el problema es que cuando quiero recuperar el dato del textbox para mostrarlo en otra vista no se como recuperarlo.

Otra ves gracias.

Si, se me ocurre esto




array(

'header'=>'Cantidad',

'name'=>'venta',

'value'=>'CHtml::textField('."'".'articulo'."'".'.$data->id,"",array("id"=>"canVendida","size"=>"3"))',

'type'=>'raw'

),




esto lo que hace es crear un textbox con un nombre diferente.

<input id="canVendida" size="3" type="text" value="" name="articulo20" />

<input id="canVendida" size="3" type="text" value="" name="articulo21" />

<input id="canVendida" size="3" type="text" value="" name="articulo22" />

Luego como tienes una columna de checkbox que tiene como valor $data->id , cuando se ejecute el post se va a retornar

el arreglo bitacora-soporte-grid_c5 con los valores marcados.

Entonces en el controlador recorres el arreglo, yo lo haria mas o menos así




if(isset($_POST["bitacora-soporte-grid_c5"]))

{

    for($i=0; i<sizeOf($_POST["bitacora-soporte-grid_c5"]); $i++)

        {

         //aca preguntas si el monto del campo articulo+codigo del articulo que seria mas o menos  name="articulo20"

         $valor= $_POST["articulo".POST["bitacora-soporte-grid_c5"][0]]

         //ya teniendo el $valor podes hacer lo que queras

         }

}



PD. Cuando alguien pagine se van a perder los campos de la pagina desde donde salio la acción.

Si quieres ponerle una mascara puedes usar algo como esto

http://digitalbush.com/projects/masked-input-plugin/ ya que el cmaskedtextfield http://www.yiiframework.com/doc/api/1.1/CMaskedTextField no funciona dentro de un cdatacolumn

Saludos…

Estimado amigo realmente te agradesco profunda mente tu gran ayuda, tus lineamentos y consejos fueron sumamente importantes para poder realizar mi codigo de principiante, desde ya muchas gracias Saludos.

Con gusto…