Axapta:表单生命周期问题

时间:2009-12-03 16:48:09

标签: forms lifecycle axapta databound

我正在尝试手动将图像图标填充到嵌套在网格中的窗口中。

在运行事件中,字段似乎还没有值。字符串控件始终返回空值。这段代码有更好的地方吗?在.NET中,我使用数据绑定事件。 AX中是否有等价物?

void run()
{
    FormStringControl s = element.control(control::ABC_Icons_FileName);
    FormWindowControl w = element.control(control::ABC_Window);
    ;
    w.imageName(s.valueStr());
    super();
}

由于

1 个答案:

答案 0 :(得分:1)

如果我正确理解你的任务,你想在每一行网格中显示图像?然后:

  1. 在form.init()中创建ImageList:

    imageList = new ImageList(ImageList::smallIconWidth(), ImageList::smallIconHeight();
    Image image = new Image();
    ;
    image.loadImage(filename)
    imageList.add(image);
    // ...
    image.loadImage(filename-n)
    imageList.add(image);
    

    必须在ClassDEclaration部分声明ImageList。

  2. 将网格中“窗口”字段的“AutoDaclaration”属性设置为“是”。

  3. 在窗体的方法init()中为窗口字段设置ImageList:

    MyWindow.imageList(imageList);
    
  4. 在表单上使用的表上创建显示方法。像这样:

    display int status()
    {
       if(this.amount > 10)
           return 5;  // 5th image from image list
       else
           return 6;
    }
    
    1. 为窗口控件设置属性DataSource和DataMethod:

      DataSource =   DataMethod = status

  5. 如果您需要更多示例,请查看表格ReqTransPo。