Guida alla realizzazione di un metodo per colorare una grid all’interno di Microsoft Dynamics AX.
Tra le tante opportunità di personalizzazione presenti in Microsoft Dynamics AX vi è anche quella che ci permette di colorare un record o un singolo campo all’interno di una grid . La domanda che adesso sorge spontanea è: ma quali sono le righe di codice da implementare? Beh, sei capitato nel posto giusto al momento giusto. In questo articolo, infatti, ti mostrerò quali sono le righe di codice da scrivere per:
- colorare una grid
- colorare un singolo campo all’interno di una grid
Bene, cominciamo!!!
Come colorare un’intero record all’interno di una grid:
Per colorare un’intero record all’interno di una grid occorre come prima cosa aprire il client Microsoft Dynamics AX e successivamente aprire l’AOT(Ctrl+D).
Espandere il nodo Forms e dall’elenco proposto ricercare la form nella quale vogliamo aggiungere la colorazione(nel nostra caso CustTable). Aprire il nodo Data Sources, della form, ed espandere il Data Source desiderato(CustTable). Creare, se non già presente, il metodo DisplayOption.
Modificare il codice standard proposto con le seguenti righe di codice:
//Metodo creato da Faion Andrea il 06/07/2017 per la colorazione dell'interno record //quando il nome del cliente contiene il test prova public void displayOption(Common _record, FormRowDisplayOption _options) { CustTable _CustTable; ; _CustTable.data(_record); if (_CustTable.AccountName like '*prova*') _options.backColor(WinAPI::RGB2int( 249, 167, 157 )); //colore Rosso chiaro super(_record, _options); }
Salvare il metodo e riaprire la form. Se tutto è stato fatto correttamente tutti i record che rispecchiamo le condizioni specificate verranno colorate di rosso chairo.
Come colorare un singolo campo all’interno di una grid:
Nell’ipotesi di avere la necessità di colorare un singolo campo all’interno della grid i passaggi da fare sono pressapoco gli stessi. In più occorre solamente:
- Impostare a Yes, nelle proprietà del campo, il valore AutoDeclaration. Questo accorgimento ci permette di usare le proprietà del campo all’interno del metodo DisplayOption.
- Modificare leggermente il codice del metodo displayOption.
Modificare il codice standard del metodo displayOption come segue:
//Metodo creato da Faion Andrea il 06/07/2017 per la colorazione di un singolo campo all'interno //di una grid quando il nome del cliente contiene la parola prova public void displayOption(Common _record, FormRowDisplayOption _options) { CustTable _CustTable; ; _CustTable.data(_record); //Faccio il controllo sul nome if(_CustTable.AccountName like '*prova*')) { _options.backColor(WinAPI::RGB2int(249, 167, 157)); _options.affectedElementsByControl(CustTable_AccountName.id()); } super(_record, _options); }
Salvare e lanciare l’esecuzione della form. Se tutto è stato fatto correttamente per tutti i clienti contenenti nella descrizione la parola prova il campo descrizione dovrebbe apparire di colore rosso chiaro.
Si può tranquillamente applicare tale metodo per colorare anche campi che non appartengono ad una grid.
Se sei arrivato a leggere sino a qua vuol dire che sei riuscito a colorare un record o un campo all’interno di una grid. Complimenti!!
Ti potrebbe interessare anche:
- Aprire una maschera nelle sue dimensioni massime
- Bloccare l’accesso ad un utente ad una maschera di Microsoft Dynamics AX
Commenta per primo