私は 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();
}
}
どちらの方法でも、空の合計行を含むグリッドが生成されます (2 番目の方法には、金額の列を合計することだけに集中しているため、最初の方法のようにいくつかの識別要素が含まれていません)。
!合計がゼロのグリッド1
私が見逃している可能性があるものについて何か考えはありますか? ありがとう。