如何使用扩展器更新atk4网格中的数据?

时间:2012-01-19 19:18:32

标签: atk4

假设我创建了一个模型“产品”,其中包含“名称”,“价格”,“税”,“运费”等字段。

首先,我只想在网格中显示名称和价格:

$g = $this->add('MVCGrid')
$g -> setModel('product', array('name','price'));

然后我想添加一列名为“sold”的扩展按钮来更新该产品的“税”和“运费”:

$g -> addColumn('expander','sold');

在sold.php文件中,我把:

$f = $this -> add('MVCForm');
$f -> setModel('product',array('tax','shipping'));
$f -> addSubmit()-> setLabel('Update');

我的问题是如何在扩展页面中获取我想要更新的产品的ID?即我应该在

中添加什么样的代码
if($f->isSubmitted()){

}

为了更新我点击“已售出”扩展按钮的产品的税和运费?


BTW:点击提交按钮后,有什么办法可以关闭扩展器吗?

1 个答案:

答案 0 :(得分:0)

Expander通过几个GET变量传递id:

  • ID
  • tablename_id(基于model-> entity_code
  • 计算

使用'id'很方便,但如果你正在使用嵌套扩展器,第二种方法更方便。别忘了使用stickyGET()。