~~Title: Data API~~ ~~NOTRANS~~ ~~NOPDF~~ 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 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'); FlatButton( child: Text("Set phone number"), onPressed: () { phone = dataApi.setValue("PHONE", '+43660123456'); } ) == Inserting a record == DataApi dataApi = getDataApi('JVxMobileDemo/Con-CG/contacts#4'); FlatButton( child: Text("Insert"), onPressed: () { phone = dataApi.insertRecord(); } ) More examples can be found [[https://github.com/sibvisions/flutterclient.example/blob/master/lib/screens/signature_custom_screen.dart|here]] and [[https://github.com/sibvisions/flutterclient.example/blob/master/lib/screens/contact_custom_screen.dart|here]].