0

CListView 内の個々のフィールドを更新することは可能ですか? すべてのテーブル レコードのこのビューでユーザーが自分のレコードを編集できるようにするソリューションを探しています。

例として、ユーザーが関連付けられた予定のリストを持っている場合があります。更新ビュー自体に移動せずに、予定を優先度低/高としてすばやくマークしたい場合があります。

この種の機能のための CListView 以外のウィジェットはありますか?

申し訳ありませんが、私はこれを調査する際に行き詰まりに遭遇しました。

4

3 に答える 3

0

あなたは実装することができます、

TbEditableColumn (YiiBooster) または EditableColumn (Yii では x-editable) を使用して、その場で日付を編集します。関連するコントローラーで新しいいくつかの更新アクションを作成し、POST 要求からデータを受信して​​データを更新した後、上記のウィジェットのいずれかを実装する必要があるだけです。

非常に便利な Yii wiki リンク

于 2014-06-04T16:24:23.693 に答える
0

奇跡的な解決策はありません。達成したいタスクによって異なります。

タスクの優先度を変更するボタンが必要な場合は、ajax リンク ( http://www.yiiframework.com/doc/api/1.1/CHtml#ajaxLink-detail ) を使用できます。

テキストをインラインで編集する場合は、Jeditable ( http://www.appelsiini.net/projects/jeditable ) といくつかの ajax を組み合わせてテキストを編集し、アイテムのコンテンツを更新できます。

ところで、renderPartial メソッドを使用して、ビューを文字列 (PHP 変数) に部分的にレンダリングできることを簡単に思い出してください。したがって、更新された CListView アイテムのみをレンダリングし、それを ajax コールバックに返してコンテンツを更新することができます。

ハッピーコーディング!

于 2013-08-07T12:35:53.333 に答える
0

以下があなたのリストビューだとしましょう

<?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

于 2013-08-07T12:47:51.940 に答える