我正在使用 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
关于我可能会错过的任何想法?谢谢。