freek verstringe wrote: > Hmm, actually I was trying to prefill with the last defined in database > and then adding 1 to the id...
Adding 1 to the id really needs to happen at the db layer, such as by using an auto_increment field, as some other person could be running your app, and also adding 1 to the last id, and then both you and that other person have assigned the same id to different records! For primary keys that are not auto-increment, you could use dabo.lib.getRandomUUID(), which is guaranteed to be unique every single time, but again you'd want to do that in the biz layer, not in the ui layer, using DefaultValues, like: def initProperties(self): self.DefaultValues["id"] = dabo.lib.getRandomUUID For filling with info from the last record, that should happen in the biz layer too. Override afterNew(), and then: def afterNew(self): # get a list of field names, not including the pk: field_names = [f[0] for f in DataStructure where not f[2]] # iterate the field names and fill in the value from the prior row: for field_name in field_names: self.setFieldVal(field_name, self.getFieldVal(field_name, self.RowNumber-1)) # note that the above will fail if this new record is the only row in the # dataset. Paul _______________________________________________ Post Messages to: Dabo-users@leafe.com Subscription Maintenance: http://leafe.com/mailman/listinfo/dabo-users Searchable Archives: http://leafe.com/archives/search/dabo-users This message: http://leafe.com/archives/byMID/49ef757b.30...@ulmcnett.com