*什么时候*您将从Xamarin Forms列表视图中的编辑控件保存数据?

时间:2019-06-21 01:18:49

标签: data-management xamarin.forms.listview

我想不出如何最好地表达我的问题,所以您认为我在问的可能不是我在问的。假设我有三个可运行的应用程序,但是第四个应用程序的需求有些不同,因此我在寻求建议/最佳实践,而不是如何编写SQL语句,编写列表视图,自定义视图单元或如何绑定到数据模型。我已经知道了。

TLDR版本:

我需要的一种明智的方法是知道用户何时完成输入数据,以便将其推送到服务器。

我知道外面已经有人解决了这个问题,所以我正在征求您的建议。如果您也不想在每次按键操作上都节省下来,那么我对您的建议特别感兴趣。

这是稍详细的版本:

我正在为部分台式机软件编写一个配套应用程序,该应用程序使用专有数据服务器存储其数据,我可以从移动设备访问该数据。在以前的应用程序中,我有一系列的控件。用户输入/修改数据,并且退出屏幕后,我知道要保存到本地sqlite表中。从本质上讲,这是一种事务处理模型,只有当他们按下按钮时,我才会将数据上传到我们的服务器。效果很好。

但是,对于此应用程序,用户只是在列表中输入数字,而不是输入一系列的信息。考虑库存:用户有一个产品和数量的列表,他们会更新数量以匹配他们所拥有的。用户不会经常离开数据输入屏幕,并且很可能会关闭设备,或者将应用程序踢出内存而无需“返回”,因此我的数据模型中可能有未存储的数据。

我在列表视图中有输入字段。我需要将输入的数据推送到我的sqlite表中,然后再推送到我们的专有数据服务器上。我本以为可以通过我的数据模型中的属性设置器来执行此操作,但是可悲的是,该数据模型在最初绑定时以及每次击键时都会被调用。

我知道有很多人在列表视图中编码数据条目,我已经阅读了所有文章以弄清楚如何使视单元起作用。我主要使用Entry控件,并且尝试使用TextChanged,Completed和Unfocused。每个人都有某种问题,使其成为“开箱即用”的不良解决方案。我有一些想法,知道如何解决部分问题,但是希望那里的人比我收集的小技巧有更好的解决方案。

很明显,我遗漏了大量细节(和复杂性)。我正在使用视图-viewmodel-模型架构,但未使用MVVM或任何类似框架。我的解决方案必须采用“香草” Xamarin形式。

非常感谢您的帮助!

1 个答案:

答案 0 :(得分:1)

我会发表评论,但是我没有足够的声誉,所以就这样。

是否存在不能将按钮添加到页面(列表视图下方)的特定原因,以便用户在完成“库存”记录后可以按下按钮?我假设这是您遗漏的复杂性/细节的一部分。

没有按钮,您可以使用每个输入字段上的Unfocused事件来保存/推送数据。如果用户为每个进入控件填写一个值,则取消焦点事件可以调用该方法来保存数据。如果您的入口控件列表很长,那么后面的代码可能会有些混乱,并且可能会很混乱,但是直到找到(或创建)或找到更好的方法之前,它都能完成工作。

希望这会有所帮助。