Trace: • Data API
Data API
This is an old revision of the document!
## Managing data in a screen
For managing the data of a screen, the CustomScreen provides a simple API which can be accessed via getDataApi('DATA_PROVIDER_NAME') from anywhere in it's extended classes.
This API provides the following functions:
- dynamic getValue(String columnName) - Provides the value of a specific column - List getValues(List columnNames) - Provides a list of values for the specified columns - setValue(String columnName, dynamic value) - Sets the value for a specific column - setValues(List columnNames, List values) - Sets the values for a list of specified columns - insertRecord() - Inserts a new record - deleteRecord(int index) - Deletes the record at the specified index - selectRecord(int index) - Selects the record at the specified index
The client persists those changes by itself.
## Examples Reading a value:
DataApi dataApi = getDataApi('JVxMobileDemo/Con-CG/contacts#4'); FlatButton( child: Text("Call"), onPressed: () { phone = dataApi.getValue("PHONE"); launch("tel://$phone"); })
Setting a value:
DataApi dataApi = getDataApi('JVxMobileDemo/Con-CG/contacts#4'); dynamic phoneNr = '+43660123456' FlatButton( child: Text("Set phone number"), onPressed: () { phone = dataApi.setValue("PHONE", phoneNr); }) Inserting a record:
DataApi dataApi = getDataApi('JVxMobileDemo/Con-CG/contacts#4'); FlatButton( child: Text("Insert"), onPressed: () { phone = dataApi.insertRecord(); })
More examples can be found [here](https://github.com/sibvisions/flutterclient.example/blob/master/lib/screens/signature_custom_screen.dart) and [here](https://github.com/sibvisions/flutterclient.example/blob/master/lib/screens/contact_custom_screen.dart).