找回密码
 立即注册

QQ登录

只需一步,快速开始

Simon.hu 讲师达人认证 悬赏达人认证 活字格认证
超级版主   /  发表于:2017-7-21 10:22  /   查看:8794  /  回复:2
本帖最后由 Chelsey.Wang 于 2022-2-14 12:28 编辑

送绑定,也是活字格里面一个十分重要的概念,主要针对的是数据表来说的。具体的设置方法在列表的右键菜单里,如下图: 松绑定.gif
我们引入这样的一个看似,和这个没有一点关系的问题。
问题描述:
设置了松绑定的表格,在页面中,使用排序命令,提示错误,如下图所示:
提示错误.gif
问题分析与解决
首先,什么是松绑定? 这个概念活字格里面已经说的很清楚了。
不设置松绑定的表格,我们修改或者添加数据以后,数据就会直接的提交到数据库,中间根本不和你商量。
但是其实在很多的用例里面,我们并不需要数据实时的提交,比如我们的在批量导入数据,如:从Excel直接复制,粘贴到活字格的web系统中;比如直接用excel导入到表中。这些都是需要我们导入数据以后,简单的检查一遍以后在提交,而且我一次性把所有数据都提交了,比每一条都提交一遍性能方面要好很多。这个时候我们就需要松绑定了,松绑定就是将网页的表和数据库先打断,现将数据都放到网页的表里,然后在由用户的一个按钮,全部提交到数据库中,这个是通俗的解释,我们官方的定义是这样的:数据松绑定--如果勾选此选项,您在页面表格上的任何操作,包括添加记录,修改或删除已有记录,都不会立刻更新到数据库。当您在页面表格操作完成后,您可以使用表格操作命令,一次性的提交您的所有的变更数据。当您使用主从表时,如果给页面上的从表勾选此选项,那么你你在从表格里面的任何操作,都不会立即更新到数据库,只有当你使用表格操作命令将主表的实际更新到数据库时,从表将随主表数据一并更新到数据库
也就是说是松绑定的表,及时我们的在里表格里更新了数据,实际上不提交也都是没有提交的数据。没有提交的数据,在网页刷新以后,数据就会丢失。
我们在回到这个问题,送绑定的表,你的数据还没有提交,现在你要排序,程序不敢把你未提交的数据清除,排序又不知道算不算未提交的数据。只能先提示错误咯。
解决的办法是,要不不要松绑定,要不先提交在排序。当然,其实更高级的的时候,还有一个大招,使用下面代码强行让表格可以排序。因为威力太大,初学者慎用
  1. Forguncy.ListviewBase.getListview("表格1").allowSortOrQuery = function(){return true;};
复制代码



6.0之后的版本代码更新如下:
  1. Forguncy.ListviewBase.getAllListviews().find(listview => listview.getListviewName() === "表格1").allowSortOrQuery = function () { return true; };
复制代码

内部接口,慎用~




2 个回复

倒序浏览
504146555
金牌服务用户   /  发表于:2018-2-24 21:47:26
沙发
又加深了松绑定的认识!
回复 使用道具 举报
Simon.hu讲师达人认证 悬赏达人认证 活字格认证
超级版主   /  发表于:2018-2-26 13:10:12
板凳
感谢您的支持!
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 立即注册
返回顶部