【问题标题】:Yii - updating fields within CListViewYii - 更新 CListView 中的字段
【发布时间】:2014-06-05 00:24:23
【问题描述】:

是否可以更新 CListView 中的单个字段?我正在寻找一种解决方案,让用户在所有表记录的这个视图中编辑他们的记录。

一个例子是用户有一个相关约会的列表。他们可能希望快速将约会标记为优先级低/高,而无需转到更新视图本身。

这种功能除了 CListView 之外还有其他小部件吗?

抱歉,我在研究这个时遇到了一些死胡同,我可能错过了一些明显的盲目

【问题讨论】:

    标签: php yii


    【解决方案1】:

    没有奇迹般的解决方案,这取决于您要完成的任务;

    如果你想有按钮来改变任务优先级,你可以使用ajax链接(http://www.yiiframework.com/doc/api/1.1/CHtml#ajaxLink-detail)。

    如果你想内联编辑文本,你可以使用 Jeditable (http://www.appelsiini.net/projects/jeditable) 和一些 ajax 的组合来编辑文本,然后更新项目的内容。

    顺便提醒一下,您可以使用 renderPartial method 将视图部分呈现为字符串(即 PHP 变量)。因此,您可以只渲染更新后的 CListView 项并将其返回给 ajax 回调以更新内容。

    编码愉快!

    【讨论】:

      【解决方案2】:

      让我们说下面是您的列表视图

      <?php $this->widget('zii.widgets.CListView', array(
          'dataProvider'=>$dataProvider,
          'itemView'=>'_view',
          'id'=>'itemList',
      
      )); ?>
      

      和你的部分(_view.php)

      <?php echo CHtml::ajaxLink('Mark Status',array('appointment/update','id'=>$data->id),
                      array('type'=>'POST','success'=>'function(){loadListView()}'),
                      array('confirm'=>'Are you sure you want to mark complete this appointment?',
                          'id'=>'mark-'.$data->id));  ?>
      

      重新加载所有网格(不是单个字段)的功能,因为更新的记录可能会影响其他数据。

      <script type="text/javascript">
              function loadListView(){
                  $.fn.yiiListView.update('itemList');
              }
          </script>
      

      有一些参考可以作为你的例子

      http://help.discretelogix.com/php/yii/enable-in-place-editing-in-yii-grid.htm

      【讨论】:

        【解决方案3】:

        你可以实现,

        TbEditableColumn (YiiBooster) 或 EditableColumn (x-editable for Yii) 并即时编辑您的日期。在相关控制器中创建新的一些更新操作后,您只需要实现上述小部件之一,从 POST 请求接收数据并更新数据。

        Very usefull related Yii wiki link

        【讨论】:

          猜你喜欢
          • 2014-09-05
          • 1970-01-01
          • 1970-01-01
          • 2012-04-17
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          相关资源
          最近更新 更多