Domanda

Sto tentando di popolare manualmente un'icona un'immagine in una finestra annidata in una griglia.

In caso di esecuzione, i campi non sembrano avere ancora valori. Il controllo di stringa restituisce sempre un valore vuoto. C'è un posto migliore per questo codice? In .NET, userei un evento databound. Esiste un equivalente in AX?

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

Grazie

È stato utile?

Soluzione

Se ho capito bene il vostro compito che si desidera visualizzare l'immagine in ogni linea della griglia di? Poi:

  1. Crea ImageList in 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 deve essere dichiarato nella sezione ClassDEclaration.

  2. Impostare la proprietà AutoDaclaration di campo Finestra nella griglia su "Sì".

  3. Imposta ImageList per il campo finestra nel metodo init () della forma:

    MyWindow.imageList(imageList);
    
  4. sul tavolo che si sta utilizzando il modulo di creare il metodo di visualizzazione. Qualcosa di simile a questo:

    display int status()
    {
       if(this.amount > 10)
           return 5;  // 5th image from image list
       else
           return 6;
    }
    
    1. Impostare le proprietà DataSource e DataMethod per il controllo della finestra:

      DataSource =   DataMethod = stato

Guarda forma ReqTransPo se avete bisogno di più esempio.

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top