A brief comment on the wildcard aspect of the DBNav property.
The DBNav SQL is used in two situations:-
- To load the grid
- To Insert/Update/Delete a specific row in the grid.
Lets assume you are loading all Docs for a given CustId into a grid.
One parameter is, say, RefNbr.
In order to Update/Delete, the parameter values the kernel passes to the SQL need to identify the single row that is being updated/deleted.
So, a value like 000123 will be passed as the RefNbr parameter.
That (along with DocType etc.) identifies a single document.
But when the grid is being loaded, you want all documents for the customer.
So you want % (the wildcard chatacter) to be passed as the RefNbr parm.
Checking the Wildcard box for the RefNbr parameter will cause that behaviour.
---
The "order by" clause of the DBNav will determine the initial population of the grid.
If it is "order by RefNbr" then the grid will initially be populated in RefNbr sequence.
---
But that's about where the influence of the DBNav peoperty ceases.
To my knowledge, when the operator inserts new row, it is the Level property of the individual controls that determines where it will be inserted.
If any controls have that ",k" in their Level property, then the kernel will insert the new row so that the grid is in sequence on that "key field".
That's my understanding of how it works.
Barry