define variable hOrderQuery as handle no-undo.
define variable browseOrder-hdl as handle no-undo.
define variable browse-hdl as handle no-undo.
define variable CNumber as integer no-undo.
CREATE QUERY hQuery.
hQuery:SET-BUFFERS(BUFFER Customer:HANDLE).
hQuery:QUERY-PREPARE("FOR EACH Customer").
hQuery:QUERY-OPEN().
CREATE BROWSE browse-hdl
ASSIGN
TITLE = "Customer Browser"
FRAME = FRAME MyFrame:HANDLE
QUERY = hQuery
X = 2
Y = 2
WIDTH = 74
DOWN = 10
VISIBLE = YES
SENSITIVE = TRUE
READ-ONLY = yes.
browse-hdl:ADD-COLUMNS-FROM(BUFFER Customer:HANDLE,"SalesRep,email,fax,comments,address,City,State,PostalCode").
on value-changed of browse-hdl
do:
FIND CURRENT Customer.
cNumber = Customer.CustNum.
CREATE QUERY hOrderQuery.
hOrderQuery:SET-BUFFERS(BUFFER Order:HANDLE).
hOrderQuery:QUERY-PREPARE("FOR EACH Order where Order.CustNum = " + string(cNumber)) no- error.
hOrderQuery:QUERY-OPEN().
CREATE BROWSE browseOrder-hdl
ASSIGN
TITLE = "Order Browser"
FRAME = FRAME MyFrame:HANDLE
QUERY = hOrderQuery
X = 2
Y = 240
WIDTH = 74
DOWN = 10
VISIBLE = YES
SENSITIVE = TRUE
READ-ONLY = yes.
browseOrder-hdl:ADD-COLUMNS-FROM(BUFFER Order:HANDLE,"warehousenum,CustNum").
end.
on value-changed of browseOrder-hdl
do:
message "hai" view-as alert-box.
end.
das ist mein Problem.Ich habe 3 Browser.Nun habe ich nur zwei erstellt. Wenn ich auf die erste Zeile des ersten Kundenbrowsers klicke, sollte er den aktuellen Kunden auswählen und seine Bestellung im zweiten Browser-Bestellbrowser anzeigen. Wenn ich auf Order-Browser-Wert klicke, sollte es die entsprechenden Orderline-Tabellenwerte im 3. Orderline-Browser anzeigen (was ich jetzt nicht erstellt habe).Wertänderungsereignis im Browser?
Also als ich versucht habe, das browseOrder-hdl zu verwenden, um ein zweites wertverändertes Ereignis zu erstellen, wird angezeigt, dass es bereits gelöscht ist. Wie überwinde ich dieses Problem? Bitte antworten Sie.
Problem ist, dass Ihr ON VALUE-CHANGED Block für Browser browseOrder-hdl mit nicht initialisierter Variable arbeitet. In der Laufzeit ist hier Nullwert. Sie müssen zuerst Ihren Trigger definieren, wenn Ihr Order-Browser existiert. sieh dir die TRIGGERS an: block on definition vom Browser;) – firhang