2

我需要敏捷工具包 CRUD Grid/Form 方面的帮助。

我在敏捷工具包中为员工、职位和部门制作了一个 CRUD 网格/表格。这很容易。但我现在在尝试设置职位和部门列时遇到了困难。我不想显示“id”值,而是分别在“pos_desc”和“dept_desc”中显示引用的文本。

同样在 CRUD 的添加/编辑表单中,它只显示 'id' 而不是相应的文本。有没有办法使用描述文本进行设置,但在提交时保存“id”?

谢谢!

这是项目的目录结构和一些代码片段:

    + atk4
    + atk4-addons
    + empmaster
      + admin
        + lib
        + page
      + doc
      + lib
        + Model
      + page
      + templates

管理员/lib/Admin.php

    class Admin extends ApiFrontend {
    :
    :   
       function init(){
    :
    :
          $this->addLocation('..',array(
                      'php'=>array(
                            'lib',
                            )
                      ));
          $this->addLocation('../..',array(
                      'php'=>array(
                            'atk4-addons/mvc',
                            'atk4-addons/misc/lib',
                            )
                      ))
                ->setParent($this->pathfinder->base_location);
    :
    :

lib/Model/Employee.php

    class Model_Employee extends Model_Table {
       public $entity_code = 'emp';

       function init() {
          parent::init();

          $this->addField('eeid')->caption('Emp ID');
          $this->addField('fnm')->caption('First Name');
          $this->addField('mnm')->caption('Middle Name');
          $this->addField('lnm')->caption('Last Name');

          $pos=$this->addField('pos_id')->caption('Position');
          $pos->refModel('Model_Postition');

          $dep=$this->addField('dept_id')->caption('Department');
          $dep->refModel('Model_Department');

          // #1 refModel gives error if declared w/out 'Model_' prefix
          // #2 Position & Department caption not on grid, but only on form
       }
    }

lib/Model/Position.php

    class Model_Position extends Model_Table {
       public $entity_code = 'pos';

       function init() {
          parent::init();

          $this->addField('pos_desc');
       }
    }

lib/Model/Department.php

    class Model_Department extends Model_Table {
       public $entity_code = 'dept';

       function init() {
          parent::init();

          $this->addField('dept_desc');
       }
    }

管理员/页面/index.php

    $crud = $tabs->addTab('Employee Master')->add('CRUD')->setModel('Employee');
4

1 回答 1

0

默认情况下,它会在模型​​上查找名为“name”的字段。如果您没有此字段,则需要覆盖 Model_Position 中的 toStringSQL 函数。

有关更多信息,请参阅此答案:

表格上的参考字段

于 2011-12-05T23:18:53.577 回答