我正在使用ATK4.2.1并试图让addTotals()功能在我的网格上运行。我尝试使用setModel和setSource方法将数据设置为网格。我的网格显示正确显示所有数据和看起来像addTotals()行,但在我尝试设置为'money'类型的任何字段上结果总是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();
}
}
这两种方法都使用空总计行生成网格(第二种方法不包括第一种方法所做的一些识别部分,因为我专注于尝试获取金钱列的总和。)
!具有零和总数的网格1
对我可能遗失的任何想法?感谢。