Populate custom field with dataset (Javascript Editor)

137 views
Skip to first unread message

john...@gmail.com

unread,
Jul 9, 2025, 4:27:53 AM7/9/25
to Softone Developers Network
Καλησπέρα στην ομάδα,

Προσπαθώ μέσω Advanced Javascript Editor να κάνω populate ένα field, με data που προέρχονται από ένα query. Όταν λοιπόν εκτελεστεί το query τα δεδομένα του πρέπει να μπορώ να τα βλέπω στο dropdown ενός field σε grid και να μπορώ να επιλέγω από αυτά ένα row τη φορά.

Προσπάθησα με την ακόλουθη γραμμή κώδικα αλλά δεν ξέρω αν το StringList είναι η σωστή προσέγγιση:

 X.SETPROPERTY('FIELD', 'SRVCARD.NUM01', 'STRINGLIST', strList);

Το dataset προκύπτει από την γραμμή κώδικα:
 var dataset = X.GETSQLDATASET(sql);

Πως μπορώ το dataset να το εισάγω σαν selection grid στο field?

Σας ευχαριστώ πολύ προκαταβολικά.

Fotini Batzoni

unread,
Jul 9, 2025, 5:49:57 AM7/9/25
to so...@googlegroups.com
Καλησπέρα,

Αν θες dropdown που να βασίζεται σε δυναμικό query:

  • Θα μπορούσες να δημιουργήσεις έναν Memory Table στον Designer.

  • Να φέρνεις δεδομένα με X.GETSQLDATASET().

  • Να χρησιμοποιείς το X.SETPROPERTY('FIELD', '<Field>', 'EDITOR', 'MyMemoryTable') ή να γεμίζεις έναν virtual πίνακα.

    πχ

  • Δημιούργησε έναν πίνακα π.χ. CCCMEMTBL με Code και Name.

  • Φόρτωσέ τον με X.GETSQLDATASET(sql) και loop dataset.APPEND().

  • Στο grid πεδίο βάλε EDITOR: CCCMEMTBL.

    Εγώ κάπως έτσι θα το προσέγγιζα.
    Καλή συνέχεια


--
Softone Developers Network group.
To post to this group, send email to so...@googlegroups.com
---
Λάβατε αυτό το μήνυμα επειδή έχετε εγγραφεί στην ομάδα "Softone Developers Network" των Ομάδων Google.
Για να απεγγραφείτε απ' αυτή την ομάδα και να σταματήσετε να λαμβάνετε μηνύματα ηλεκτρονικού ταχυδρομείου απ' αυτή, στείλτε ένα μήνυμα ηλεκτρονικού ταχυδρομείου στη διεύθυνση soft1+un...@googlegroups.com.
Για να δείτε αυτή τη συζήτηση, επισκεφτείτε το https://groups.google.com/d/msgid/soft1/d4242f82-7309-49b7-b38f-628e8a73da66n%40googlegroups.com.
Message has been deleted

Μάνος

unread,
Jul 11, 2025, 6:38:30 AM7/11/25
to Softone Developers Network
Πώς μπορώ να κάνω κάτι παρόμοιο, αλλά να γεμίσω/αλλάξω ένα dropdown αντί για grid, δυναμικά;

Έφτιαξα έναν άδειο virtual πίνακα (CCCMYTABLEVIRTUAL), με 4 στήλες και τον έχω βάλει ως πεδίο στο FINDOC και στη συνέχεια στην φόρμα μου προσθέτω ένα πεδίο με όνομα (π.χ. SRVCARD.CCCMYTABLEVIRTUAL ). Στην παραμετροποίηση βάζω EDITOR τον  CCCMYTABLEVIRTUAL 
Μετά στο JS Editor κάνω:


var ds = X.GETSQLDATASET(my_query, null);
ds.FIRST;
while (!ds.EOF()){
      CCCMYTABLEVIRTUAL.APPEND;
      CCCMYTABLEVIRTUAL.MYCOL1 = 12; CCCMYTABLEVIRTUAL.MYCOL1 = 34; CCCMYTABLEVIRTUAL.MYCOL1 = 56; CCCMYTABLEVIRTUAL.MYCOL1 = 78;
ds.NEXT;
}

Δε φαίνεται όμως να γεμίζει ο πίνακας. Το dropdown παραμένει άδειο.
Message has been deleted

Νίκος Μάλιακκας

unread,
Jul 14, 2025, 5:05:37 AM7/14/25
to Softone Developers Network
Από ότι ξέρω οι virtual tables είναι φτιαγμένοι για grids. Για να βάλεις κάτι σε drop down selector όπως για παράδειγμα τα είδη/πελάτες θα χρειαστείς 
1. Memory table- strings list όπως ανέφερε η Fotini
2. View table, το οποίο γεμίζει μόνο του από ένα query που του γράφεις.

Το 2 δεν θα παίξει αν θες τον selector πάνω σε grid! μόνο σε headers,

Εναλλακτικά, φτιάχνεις ένα virtual table, τον γεμίζεις με ότι θες, τον δείχνεις σε ένα subform και αφήνεις τον χρήστη να επιλέξει την γραμμή που θέλει και να πατήσει το οκ
Δεν είναι ακριβώς drop down, αλλά το έχουμε κάνει και δουλεύει.

Μάνος

unread,
Jul 15, 2025, 7:30:14 AM7/15/25
to Softone Developers Network
Ευχαριστώ για την απάντηση. Επειδή το μήνυμα μου εδώ είχε διαγραφεί μόνο του για κάποιο λόγο (και μετά επανήλθε πάλι βέβαια, μόνο του) συνέχισα τη συζήτηση σε αυτό το thread https://groups.google.com/g/soft1/c/pCuv9lUQJ_M.
Reply all
Reply to author
Forward
0 new messages