Trace: • Die Layout Manager • 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).
