Hi,
Ok, had the following problem in the csfWebList control that I figured to reproduce it in order entry example workspace.
I was noticing that in a order-detail kind of use, the first row was not receiving the rowID for that row.
This is tested on DataFlex 19.1.58, standard windows order entry example
In the Order.vw view drop the following code:
Code:
Object oListLinesButton is a Button
Set Size to 14 73
Set Location to 161 68
Set Label to "List Lines"
Set peAnchors to anBottomLeft
// fires when the button is clicked
Procedure OnClick
Boolean bFound
Handle hoGrid
Handle hoServer
Integer iMainFile
Integer iIndex
String sValue
RowId riRowID
RowId riMainFile
Move (oOrderDetail_Grid(Self)) To hoGrid
Get Server Of hoGrid to hoServer
Get Main_File of hoServer to iMainFile
Get Ordering Of hoGrid to iIndex
Send Find_First of hoGrid
Get CurrentRowId of hoServer to riRowID
//
Send ReadByRowId of hoServer iMainFile riRowID // Read the current row
Send Establish_Find_Direction of hoServer gt iMainFile iIndex
Move (Found) to bFound
While bFound
Move (GetRowID(iMainFile)) To riMainFile
Move (SerializeRowID(riMainFile)) To sValue
Show "rowID " sValue
Get_Field_Value iMainFile (RefTable(OrderDetail.Item_ID)) to sValue
Showln " " sValue
Send Locate_next of hoServer
Move (Found) to bFound
Loop
End_Procedure
End_Object
Then compile and run.
Search the last record in the database (Control+End in de order number field) and you'll get the list for Order 2228
Then press the button for the code you just added.
This puts the following in a console:
Code:
rowID GOLD
rowID 27130000 CASE
rowID 28130000 CITIES
rowID 29130000 PICTURE
As you can see, the first RowID in the list is missing!
It was easy enough to work around, but it is a weird one if you ask me.
--
Wil