Axapta: Formulario pregunta ciclo de vida
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
Solución
Si he entendido bien su tarea que desea mostrar la imagen en cada línea de la parrilla? A continuación:
-
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.
-
Establecer propiedad AutoDaclaration de campo Ventana en la cuadrícula a "Sí".
-
Establecer ImageList para el campo de ventana en el método init () de la forma:
MyWindow.imageList(imageList);
-
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; }
-
propiedades del origen de datos y DataMethod para su control de la ventana:
DataSource = DataMethod = status
-
Mire forma ReqTransPo si necesita más ejemplo.