e.g。我们有一个人调用服务器函数来创建一个新实体:
function loadData() {
var vServerController = mobileController.serverController();
var vJSONRequest = vServerController.createJSONRPCRequest();
vJSONRequest.setQueryMethod("createSomeNewElementBasedOnTwoIds");
vJSONRequest.addParameter("firstID", 1);
vJSONRequest.addParameter("secondID", 2);
vJSONRequest.setOnFinish(callBackOnFinish);
vServerController.addToQueue(vJSONRequest);
}
function callBackOnFinish() {
var vController = mobileController.activeController();
vController.showView(Screens.SomeScreen, true);
}
那么我们如何在此次通话后刷新屏幕?服务器不会返回完整的数据集,只会返回一个新数据。
这样做的最佳方法是什么?
答案 0 :(得分:0)
假设您要更新当前显示的数据,您有两个选择 - 并且您可能不需要为此使用回调
1:只需使用foundset.setDataMode(DataMode.REPLACE)
从服务器返回数据 - 它将自动刷新显示的数据。但是如果您正在处理一个实体的多个记录而您只想更新其中一个,请使用选项2.
2:仅返回要更新的特定记录而不更改数据代码。记录由它的key / id元素标识。您可以在实体编辑器中找到标有小键符号的那些。因此,请确保返回所需的关键元素和任何其他元素。 AppConKit将自动将现有记录与数据合并并显示该数据。
3:如果您在设备上创建了新记录,则该记录将具有名为client_uuid的值。如果现在从包含client_uuid和key元素的服务器返回记录,则在设备上创建的记录将与服务器创建的记录合并,并显示新记录
希望这有帮助!