Yii CGridView で複数の行をまとめて編集/更新したい。たとえば、各行にはチェックボックスと単一の編集/更新ボタンがあり、複数の行を選択し、編集/更新ボタンをクリックすると、選択したすべての行が編集および更新用に開かれます。
これは Yii CGridView で可能ですか??
selectableRows
のプロパティを使用しますCGridView
。
パブリック整数 $selectableRows;
選択できるテーブル本体の行数。0 の場合、行を選択できないことを意味します。1 の場合、1 行のみを選択できます。2 またはその他の数値の場合、複数の行を選択できることを意味します。選択された行には、「selected」という名前の CSS クラスがあります。
を使用して$.fn.yiiGridView.getSelection(containerID)
、選択した行のキー値を取得できます。
グリッドビューの上部または下部に、編集、削除、または必要なアクションを含むボタンをいくつか追加し、上記で取得したキー値を渡します。
行をインラインで編集したい場合は、拡張機能 phaActiveColumn を使用できます。これは、複数の行 (必要に応じてテーブル全体) をサポートするために台無しにしました。
編集:拡張機能は基本的に、ユーザーがセルをクリックしたときにグリッドセルを置き換える入力フィールドを作成します。フィールドにはスターター用のセルの値があり、ユーザーがEnterキーを押すとすぐにコントローラーにajax呼び出しを送信し、ユーザーの入力となるフィールドの値を保存するように求めます。
私の追加は、行のすべてのセルに対してそのようなフィールドを1つ作成し、ユーザー入力をjavascriptオブジェクトに保存してから、コントローラーへの1つのajax呼び出しで一度に送信することでした。複数の行の更新がサポートされています (適切な数の JavaScript objetcs を作成します)。
誰かがこれに興味を持っているなら、そこにあります。