Skip to Content
avatar image
Former Member

DBDatasource and Matrix

In 'Purchase Order' Screen, there is a matrix bound to DBdatasource. when each row gets filled up, the next row gets automatically enabled.

How to implement this feature?

Add comment
10|10000 characters needed characters exceeded

  • Follow
  • Get RSS Feed

1 Answer

  • avatar image
    Former Member
    Jul 09, 2004 at 12:32 PM

    Standard document screens in business one add a new row to the matrix when a valid entry is made in a key field on the last current row on the screen.

    You can implement something similar for your own matrices by processing the et_VALIDATE event for a key item in your matrix. If your custom validation is successful and the current row = matrix.rowcount, then call matrix.addrow.

    Regards,

    John.

    Add comment
    10|10000 characters needed characters exceeded

    • Former Member Former Member

      I usually find UserDataSources most useful for data entry matrices. I find they give you more flexibility when you want to update them through code. Make sure you use GetLineData/SetLineData to populate them rather than going through the matrix cells. UserDataSources do have DataType & Length properties that will allow them to do basic type validation/display.

      One area I do use DBDataSources extensively is when the matrices are mostly read-only lists of existing items in the database (eg. Orders due for delivery). They are very quick and easy to to generate and when used with Conditions objects provide quite good performance particularly on larger data sets. Even these however are often supplemented by UserDataSources for some items.

      To prevent jerks when adding lots of lines to a matrix you can freeze the screen before starting to populate the matrix, un-freeze and update afterwards.

      As you are experiencing, there doesn't really seem to be one ideal way of doing it at the moment. I think however that the enhancements to DBDataSources in the 2004 version might make a big difference to how we all work with matrices.

      Regards,

      John.