0

CGridviewグリッドのアイコンをクリックすると、患者の詳細 (更新ページにあります) が印刷されます。

すでに試しましたがwindow.print()(.class).printPage()それらを実装する方法がわかりませんか?

4

1 に答える 1

0

呼び出しでCGridView(おそらく患者ビューの管理者ビューで)、次のような追加のボタンを追加します。

array(
    'class'=>'CButtonColumn',
    'template'=>'{printbutton}{view}{update}{delete}',
    'buttons'=>array(
        'printbutton' => array(
            'label'=>'Print',
            'imageUrl'=>Yii::app()->request->baseUrl.'/images/print_icon.png',
            'url'=>'Yii::app()->createUrl("patient/printitem", array("id"=>$data->id))',
         ),
    ),
),

次のことがわかります。

  • アイコンとして使用する画像 (この例では *image/print_icon.png* に保存されています) を参照します。
  • コントローラー/アクション URL (この例ではpatient/printitem ) を参照しid、クリックされた患者レコードの を渡します

このコントローラー/アクションは、患者の記録を選択し、次のようなビューをレンダリングする必要があります。

public function actionPrintitem(){
    $model = Patient::model()->findByPk($_REQUEST['id']);
    $this->render("printitem",array(
        "model" => $model
    ));
}

次に、このビュー (作成する必要があります) でwindow.print();、ページがロードされたら起動するだけで、ブラウザの印刷ウィンドウが開きます。

于 2012-12-21T12:32:56.220 に答える