2016-07-04 6 views
0

Ich verwendete CArrayDataProvider für Grid in yii, das Problem ist, dass es erste ganze Daten dauert, dann gibt es Limit in Datenprovider, die zu viel Zeit zum Laden dauert, so will ich benutzerdefinierte Gesamtzahl in arraydata Anbieter tun, habe ich einige Sachen fot, dass aber es ist mir eine Fehlermeldung zu geben, hier ist mein CodeWie kann ich benutzerdefinierte Gesamtanzahl in Array-Datenanbieter für yii geben

$rawDataWithArray = $modelMemberreceipt->getMemberReceiptListWithLimit($searchString,$PageSize,$currentPage); 
$filteredData=$filtersForm->filter($rawDataWithArray); 
$rawDataCount = $modelMemberreceipt->getMemberReceiptListItemCount($searchString); 

       $model = new CArrayDataProvider($rawDataWithArray, array( 
          'keyField' => 'ReceiptID', 
          'itemCount' => $rawDataCount, 
          'sort' => array(
           'attributes' => array(
            'ReceiptID','StoreName','member','LoyaltyCardNo','MerchantTypeID', 
            'ReceiptAmount','ReceiptDate','Status','Created','Updated','RejectionReasonCode','ProcessingReason', 
            'UpdatedBy','ScannedReceiptNo' 
           ), 
           'defaultOrder' => $sortArray, 
          ), 
          'pagination' => array(
          'pageSize' => $PageSize, 
          'currentPage'=>$currentPage, 
         ), 
       )); 

Für $ rawDataWithArray ich die Grenze gesetzt, so dass es Aufzeichnungen wie 10 geben , für $ rawDataCount setze ich die Gesamtzählung, für die Variable bekomme ich die richtigen Daten, also kein Problem mit den Daten, wenn ich den itemCount setze, gibt es mir den Fehler Property "CArrayDataProvider.itemCount" is read only., kann mir bitte jemand sagen, wie ich dieses Problem lösen kann ?

Antwort