Pregunta

Estoy intentando rellenar manualmente un icono de imagen en una ventana anidada en una cuadrícula.

En el caso de ejecución, los campos no parecen tener valores todavía. El control de la cadena siempre devuelve un valor vacío. ¿Hay un lugar mejor para este código? En .NET, que haría uso de un evento de enlace de datos. ¿Hay un equivalente en AX?

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

Gracias

¿Fue útil?

Solución

Si he entendido bien su tarea que desea mostrar la imagen en cada línea de la parrilla? A continuación:

  1. Crea ImageList en form.init ():

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

    ImageList se debe declarar en la sección ClassDEclaration.

  2. Establecer propiedad AutoDaclaration de campo Ventana en la cuadrícula a "Sí".

  3. Establecer ImageList para el campo de ventana en el método init () de la forma:

    MyWindow.imageList(imageList);
    
  4. En la tabla que se está utilizando en la forma de crear el método de visualización. Algo como esto:

    display int status()
    {
       if(this.amount > 10)
           return 5;  // 5th image from image list
       else
           return 6;
    }
    
    1. propiedades del origen de datos y DataMethod para su control de la ventana:

      DataSource =   DataMethod = status

Mire forma ReqTransPo si necesita más ejemplo.

Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top