This was posed as a problem, but no one had a simple answer. ASCKEY doesn't have the problem, but their grid class is very much re-worked in too many respects to provide a specific solution.
Subsequently, Paul Rosembaum has worked out a solution:-
DD_ZERO_SUPPRESS in the data dictionary works in grids and forms for integers, provided there are no masks such as Currency_window.
DD_ZERO_SUPPRESS in the data dictionary works in forms for numbers, provided there are no masks such as Currency_window.
It does not work for numbers in grids.
I have found a solution, provided there are no masks, then the following code in a DBgrid will work.
//AB-StoreStart
Set Item_Option of (Prototype_Object(Self)) Item 6 to Zero_Suppress
//AB-StoreEnd
This will zero_suppress column 6 counting from zero.
The following code also works, but the {...} is stripped out by the IDE.
Entry_Item Xyz.Abc {Zero_Suppress}
NOTE: I have done this with VDF6, I hope that it will still work with VDF7.
Contributed by Paul Rosenbaum