2012-07-27 5 views
0

여기에 eexcelview 용 래퍼 확장을 구현했습니다. http : //www.yiiframework.com/extension/toexcel/ 내 cgridview 데이터를 내보내려면. 그러나 지금은 전체 모델에 대한 모든 레코드를 내보내는 방법 만 파악할 수 있습니다.확장명을 사용하여 Cgridview CSV 내보내기

이 모델의 컨트롤러 확장에 대한 페이지의 의견이 기능을 달성하기 위해이 방법과 유사한 방법을 사용하여 설명

public function actionExcel() 
{ 
    $fileName = 'Packaging_Metric_Data_Export_'. date("m-d-y"); 
    // Load data (scoped) 
    $model = PackagingMetric::model()->findAll();; 


     // Export it 
    $this->toExcel($model, 
     array(
     //'id', 
     'date', 
     'room', 
     'lot', 
     'country', 
     'total_labor_hours', 
     'total_run_time', 
     'std_rate', 
     ), 
     $fileName, 
     array(
      'creator' => 'Data Access Portal', 
     ), 
     'Excel2007' 
    ); 
} 

내 작업입니다. 그러나, 나는 이것을 작동시킬 수 없다.

$model = YourModel('search'); 
$model->type = 1; // This will filter out all the results whose type is 1 
$dataProvider = $model->search(); 

사람이 확장자로 내보낼 필터링 cgridview 결과를 검색하는 방법을 명확히 수 있을까?

+0

당신의 조건을 지정 할 수 있어야한다 [findall은() (http://www.yiiframework.com/doc/api/1.1/CActiveRecord#findAll-detail : 같은 그 라인 뭔가를 할 수) – ernie

+0

당신은 명확히 할 수 있습니까? 어떻게하면 cgridview의 활성 데이터를 매개 변수로 검색합니까? –

답변

0

이 모듈을 사용하지는 않았지만 CGridView을 찾고 있지는 않지만 어떤 종류의 dataprovider을 찾은 것 같습니다.

$model = PackagingMetric::model()->findAll(); //removed extra ; 

내가 PackagingMetric이 무엇인지 모르겠지만,이 CActiveRecord을 연장하고 findAll() 방법을 포함하고있는 것처럼 당신이해야한다, 그래서 그것은 같습니다 말했다되고 그건

, 위의 코드에서, 당신은

$condition = 'lot = 1'; 
$model = PackagingMetric::model()->findAll($condition); 
+0

이 옵션을 사용하면 controoler에서 직접 지정한 항목을 찾을 수 있습니다. 그러나 cgridview에서 활성 "검색"데이터를 매개 변수로 호출하는 방법은 여전히 ​​혼란 스럽습니다. –

+0

이미 cgridview에 데이터가 표시되어있는 경우 toExcel()을 호출 할 때 $ model 대신 전달하십시오. – ernie

+0

POST 호출을 사용하여이 데이터를 호출 할 수 있습니까? 그렇게 할 수 있다면 –