关于slavetable
slavetable有两种情况,
从表有三个要素
1、自己主键字段的idfield
2、对应主表的主键字段masterIdField
3、对应主表主键的值
模式一、MasetrEdit模式 也就是主表记录编辑模式
此时,主表记录的id值是确定的
slavetable的动作:
m_initial(bean or modulename,linkfield)
m_setMasterEditMode(masterfieldvalue)
listview m_selectFromMasterId() 从从表中查询符合主表id主的,然后listview显示
editview,此时masteridvalue是确定的,锁定的,不需要添加
addview,此时masteridvalue是确定的,锁定的,自动添加
初始化的时候得到 自己的idfield,master对应的idfield
模式二、MasterAdd模式,也就是主表记录新增模式
slavetable的动作:listview 为空,不需要显示,因为是新增
addview,里面masterIdValue是空的,锁定的,不需要添加,
从listview中得到的,editview ,masterIdValue是空的,锁定的,不需要添加
问题1:slavetable会在没有主表id值得情况下,被使用吗?
答:会,主要是在主从表添加的时候,此时还不知道主表的id值
但是在MasterSlave的editview情况下,是有masterid值的
答案:slavetable是根据主表而出现的一种形式,所以,主表的addview,和editview对于slavetable是不同的。
如果主表处于addview方式时,slavetable中,对应主表的id值没有,所以在新增和显示时,都没有显示
如果主表处于editview方式时,slavetable的对应的主表id已经有值,所以需要显示并自动增加。
一、listview
一、标准的主从使用
此时,因为master还没有保存,可能还没有得到master的id。\
所以,从表在增加时,是不知道masterid的,
那么此时的idfield需要显示吗?实际上,在addview时,不需要显示,在editview时需要显示。
如果此时idfield为 int字段,则显示会有错乱,因为会全部显示为0,而其实在新增时,会另外赋予真正的值。
所以,在tag=new时,id的值,应该不显示????这个仅限于id为自增长或者guid的情况,因为会自动增加。
这就意味着,slavetable有一个限制,只适应于id为在新增的时候自动增加id值的情况。
如果id为其他可识别的标识,只能用脚本改变,??????
二、单独的从表使用方式
此时,应该知道masterid的值
关于slavetable的更多相关文章
- Oracle 外键级联更新
Oracle数据库中,外键约束只允许级联删除,不允许级联更新,因此,如果想要实现主表数据更新后,子表外键自动更新,只能取消外键关系,通过前端程序来维护实现完整引用,一个代替的解决方案是使用延迟约束和触 ...
随机推荐
- 17.1拓展之纯 CSS 创作炫酷的同心圆旋转动画
效果地址:https://codepen.io/flyingliao/pen/ebjEMm?editors=1100 HTML代码: <div class="loader"& ...
- getent passwd 不能访问到 ldap 的用户
getent passwd 不能访问到 ldap 的用户,搞了一整个下午! 依然没搞定, 一开始是不知道nslcd 需要启动,另外getent passwd 域, 无有用结果, 换个方式搜索 get ...
- nginx配置开机启动及配置sudo授权启动
1.https://www.cnblogs.com/whatmiss/p/7091220.html 配置开机启动nginx 2.sudo授权其它用户启动 (1)root用户编辑 visu ...
- 2. 解决svn working copy locked问题
解决办法: 产生这种情况大多是因为上次svn更新命令执行失败且被自动锁定了. 如果cleanup没有效果的话只好手动删除锁定文件. 就可以通过“运行”--“cmd”--cd 到svn项目的根目录下,然 ...
- 廖雪峰老师Python3教程练习整理
1.定义一个函数quadratic(a, b, c),接收3个参数,返回一元二次方程:ax2 + bx + c = 0的两个解 # -*- coding: utf-8 -*-import mathde ...
- 玩转音频、视频的利器:FFmpeg
导语 当下直播平台发展十分迅猛,依靠游戏内直播平台的发展带动游戏活跃提升收入,那么对于我们开发来说如何玩转视频呢?下面就来介绍一个音频.视频处理利器——FFmpeg. FFmpeg 简介 FFmpeg ...
- centos 主机名突然变成bogon的解决方法
主机名突然变成bogon,访问网络可能会出现问题(也可能没问题,我的就没问题),可能用到主机名的服务(比如说:mysql)可能也会出现访问不了. 所以我们需要解决以下问题,本人的解决方法: 主机名 ...
- JEECG前后端分离UI框架实战抢先体验(ng2-admin+Angular4+AdminLTE+WebStorm)
JEECG前后端分离UI框架 (ng2-admin+Angular4+AdminLTE) 关键词: ng2-admin.Angular4.AdminLTE.Nodejs.Jeecg JEECG紧跟技术 ...
- 06-padding(内边距)
padding padding:就是内边距的意思,它是边框到内容之间的距离 另外padding的区域是有背景颜色的.并且背景颜色和内容的颜色一样.也就是说background-color这个属性将填充 ...
- 修改页面中显示出需要修改的数据(包括select选择框复显示)
页面中需要用到某个对象时,在底层代码中赋值,然后页面用java代码进行获取调用 如下截图: select复显示:根据后台方法赋值选择框 ,并设置初始值 按钮及选择框的禁用(五种方法): 方法一: $( ...