There are many ways to do this as Ruslan or Ivan can tell you. If the sequence number doesn't exist, the record was deleted before I refreshed my listbox. If true, the record still exits and I use a server side cursor to lock the record while I perform whatever operation needs to happen. Added HeaderPressed and HeaderStyle properties to WebListBox.
XOJO WEBLISTBOX WINDOWS
The Xojo rowtag can also take an array if you want to get creative and put both the RecID and the sequence # in the rowtag.īefore I complete any record operations, i check the DB to see if the sequence # still exists and if so, does the RecID match. Xojo is a multi-platform, object-oriented application development tool that enables people to created high-quality, powerful and secure applications for the desktop (OS X, Windows and Linux), web and web-mobile. Which one goes where is up to you and your programming style. I retrieve both RecID and sequence number from the DB when populating a listbox and place one field in the rowtag and one in a column with a width of 0 making it invisible. I also set this field's "Unique" attribute to true. I found it safer to place a ULLONG field in tables were I needed permanency and use either a Serial32 or Serial64 (which is basically a sequence) to generate a unique identifier for each record. If another user deletes, let's say record 5 (RecID 5), and you click on the listbox with the rowtag of (RecID) 5 - any DB operations you perform with that RecID will be on the wrong data. A RecID can be reused when a record is deleted and new data is inserted into the DB.įor example, after you populate the listbox with the records you want (using the RecID as the rowtag), this data now becomes stale. I quickly had issues with data consistency because the RecID field is not a permanent identifier for data. I also used the RecID field as the rowtag in a Xojo listbox.