0

我正在使用 ATK4.2.1 并试图让 addTotals() 功能在我的网格上工作。我尝试使用 setModel 和 setSource 方法将数据设置为网格。我的网格正确显示了所有数据,并且显示了 addTotals() 行,但在我尝试设置为“金钱”类型的任何字段上,结果始终为 0.00。

方法#1-

class page_showStats extends Page {
    function init(){
    parent::init();

        $grid=$this->add('Grid');
        $grid->setModel('aggrStats');
        $grid->addTotals();

    }
}

class Model_aggrStats extends Model_Table {
    public $table='aggrReports';
    function init(){
        parent::init();
        $this->addField('date')->type('date');
        $sitename = $this->join('websites','websiteID');
        $sitename->addField('sitename','name')->caption('Client');
        $sitetype = $this->join('adTypes','typeID');
        $sitetype->addField('typename','name')->caption('Product');
        $siteorigin = $this->join('origins','originID');
        $siteorigin->addField('originname','name')->caption('Origin');
        $this->addField('impressionsTotal')->Caption('Imp Opps')->sortable(true);
        $this->addField('impressionsFilled')->caption('Imps Filled')->sortable(true);
        $this->addField('fillPercent')->sortable(true)->caption('Fill %');
        $this->addField('grossRevenue')->type('money')->sortable(true);
        $this->addField('grossCPM')->sortable(true);
        $this->addField('netRevenue')->type('money')->sortable(true);
        $this->addField('netCPM')->sortable(true);
    }   
} 

方法#2 -

class page_slicer extends Page {
    function init(){
    parent::init();

        $g=$this->add('Grid');
        $g->addColumn('date','date');
        $g->addColumn('text','impressionsTotal');
        $g->addColumn('text','impressionsFilled');
        $g->addColumn('text','fillPercent');
        $g->addColumn('text','grossRevenue');
        $g->addColumn('text','grossCPM');
        $g->addColumn('money','netRevenue');
        $g->addColumn('text','netCPM');

        $g->setSource('aggrReports');

        $g->addTotals();

    }
}

两种方法都生成带有空总计行的网格(第二种方法不包括第一种方法所做的一些识别部分,因为我专注于试图让一个货币列求和。)

!Grid 与零和总计1

关于我可能会错过的任何想法?谢谢。

4

0 回答 0