gpt4 book ai didi

php - Yii CGridView - 自定义列

转载 作者:行者123 更新时间:2023-11-29 20:09:13 25 4
gpt4 key购买 nike

一直在寻找为“自定义列”添加功能的解决方案...意思是,我提供了一个列列表,我可以向用户展示这些列,然后他选择他想看的列,然后选择表格更新并添加/删除所需的列。

在 Google 上没有找到任何内容(也许它的名称与我要查找的名称不同...)

有人知道如何实现它吗?

提前致谢!

最佳答案

这不是一个完整的示例,但可以为您提供一些有关如何实现它的线索。您必须定义某种形式来收集有关如何呈现网格的数据。如果有超过 3 个输入字段,我建议您创建一个 CFormModel 类。使用包含网格的文件的表单和 div 或 renderPartial 创建 View 文件:

$form = $this->beginWidget('CActiveFormExt');
echo $form->errorSummary($model);
echo $form->labelEx($model,'column1');
echo $form->dropDownList($model
echo $form->error($model,'column1');
echo CHtml::ajaxSubmitButton('UpdateGrid',array('controller/grid'),
array('update'=>'#grid'),
$this->endWidget();
// you can render the 'default options' before any ajax update
$this->renderPartial('_grid',array($customColumns=>array('id','name'),'dataProvider'=>$dataProvider));

在_grid.php View 文件中:

$this->widget('zii.widgets.grid.CGridView', array(
'id' => 'grid',
'dataProvider'=>$dataProvider,
'columns' => $customColumns;
));

在 Controller 中:

function actionGrid(){
// recover the form data, and build the custom columns array
$customColumns = array();
$customColumns[] = '.....';

$dataProvider = ...;

$this->renderPartial('_formTrabajo', array('customColumns' => $idSiniestro, 'dataProvider' => $dataProvider'), false);
}

当你点击ajaxSubmitButton时,表单被发送到通过ajax指定的url,并且来自 Controller 的回复必须包含包含网格的 View 的renderPartial,所以jQuery调用可以正确替换html。您必须将一个数组从您的 Controller 传递到网格的部分 View ,其中包含您要显示的自定义列列表。

关于php - Yii CGridView - 自定义列,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10882526/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com