0

こんにちは、 eexcelviewを使用して Excel でデータを取得しようとしています。コントローラーにコードを追加しました

$query = " some query from 4 tables ";
$dataProvider=new CSqlDataProvider($query, array(
    'sort'=>array('attributes'=>array(
                                    'col1', 
                                    'col2',
                                    'col3', 
                                    'col4',
                                    'col5'  ),),));
$this->widget('application.extensions.EExcelView', array(
        'dataProvider'=> $dataprovider,
        'title'=>'Title',
        'autoWidth'=>false,
         ));

私の理解では、このアクションが呼び出されると、Excel レポートを保存するように直接求められます。しかし、代わりにエラーが発生していますThe "dataProvider" property cannot be empty.

C:\wamp\www\yii\framework\zii\widgets\CBaseListView.php(106)
100      * Initializes the view.
101      * This method will initialize required property values and instantiate {@link columns} objects.
102      */
103     public function init()
104     {
105         if($this->dataProvider===null)
106             throw new CException(Yii::t('zii','The "dataProvider" property cannot be empty.'));

また、同じように正常$dataproviderCGridView動作します。

私のコードで何が間違っていますか?

4

1 に答える 1

3

PHP 変数は大文字と小文字を区別します。したがって、コードを次のように変更する必要があります

$this->widget('application.extensions.EExcelView', array(
        'dataProvider'=> $dataProvider,
        'title'=>'Title',
        'autoWidth'=>false,
         )); 
于 2013-01-29T17:16:20.573 に答える