내 프로젝트에서 내 기본 창의 팝업에 cgridview 데이터를 채우는 중입니다. 하지만 아약스 페이지 매김을 시도하면 실패합니다. 나는 cgrid 데이터 만 가지고있는 목록 송장이라는 이름의 뷰를 만들었습니다.팝업 창 CgridView ajax 페이지 매김
보기/사용자/listInvoices.php 내 컨트롤러 난 송장을로드하기 위해 사용자의 컨트롤러에 요청을 보내 baseview.php에
에서
<div id="invoice_container" name="invoice_container">
<div align="right"><img src="<?php echo Yii::app()->request->baseUrl; ?>/media/images/add_button.png" name="add_invoice" id="add_invoice"></div>
<?php
echo "INVOICES LISTING";
// <a href="<?php #echo Yii::app()->createAbsoluteUrl('/studio/addInvoices') ">Add Invoice</a>
//echo $schedules;
?>
<?php
$this->widget('zii.widgets.grid.CGridView', array(
'dataProvider' => $invoice->search($studioId),
'columns' => array(
array(
'name' => 'Invoice Number',
'type' => 'raw',
'value' => '$data->invoice_no',
),
array(
'name' => 'Student',
'type' => 'raw',
'value' => '$data->user_id',
),
array(
'name' => 'Invoice Date',
'type' => 'raw',
'value' => '$data->invoice_date',
),
array(
'name' => 'Invoice Amount',
'type' => 'raw',
'value' => '$data->invoice_amount',
),
array(
'name' => 'Status',
'type' => 'raw',
'value' => '$data->invoice_status',
),
),
));
?>
</div>
. 데이터로 Ajax가 성공하면 송장 컨트롤러 그리드에 그리드가 채워집니다./baseview.php
$.ajax({
url:loadinvoice,
success: function(data) { $('#invoice_controller).html(data);}
});
usercontroller.php
public function actionLoadinvoice() {
$this->renderPartial('listinvoices');
}
하지만 내 사업부에서
보기/사용자는 그리드가 작동하지 않는 아약스 매김에 의해 채워됩니다. 다음 페이지를 클릭하면 브라우저가 다시로드됩니다. whats는 이것의 배후에있는 문제입니다. 나는 bind() 또는 .live()에서 ajax pagination 속성을 바인딩해야한다고 생각한다. 그러나 나는 그것을 어떻게 할 수 있습니다.
내가 시도-ING 내 페이지에 아약스 목록보기를 전환 할 수있는 동일한 문제에 봉착 위해 그냥 평범한 아약스 options.See 다음과 같습니다. 예를 들어, $ this-> renderPartial ('listinvoices', null, false, true) // 마지막 param을 "true"로 설정하면 listview에 첨부 된 js를 처리하고 이벤트를 올바르게 바인딩합니다. 이 작업을 두 번하면 바인딩이 2 개 발생하며이를 피하는 방법을 모릅니다. – Samson