关于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数据库中,外键约束只允许级联删除,不允许级联更新,因此,如果想要实现主表数据更新后,子表外键自动更新,只能取消外键关系,通过前端程序来维护实现完整引用,一个代替的解决方案是使用延迟约束和触 ...
随机推荐
- 33.纯 CSS 创作牛奶文字变换效果
原文地址:https://segmentfault.com/a/1190000015037234 感想:transform: translateY(50% & -50%); animatio ...
- 将Oracle中的表结构导出到word
语句如下: SELECT t1.Table_Name AS "表名称",t3.comments AS "表说明", t1.Column_Name AS &quo ...
- Centos代理上网设置
原文链接:http://m.blog.csdn.net/article/details?id=51851677 一.centos自带界面设置代理 1. 界面设置 squid默认代理端口3128. 2 ...
- 比较sql server两个数据库
比较sql server两个数据库 http://opendbdiff.codeplex.com/ http://www.red-gate.com/ 有SQL Compare和SQL Prompt 开 ...
- 【JEECG技术文档】JEECG平台对外接口JWT应用文档V3.7.2
一. 接口方式 接口调用采用http协议,rest请求方式: 二. 接口安全 接口安全采用Json web token (JWT)机制,基于token的鉴权机制. 1. 机制说明 基于token的鉴权 ...
- Django 数据库的迁移
先数据库迁移的两大命令: python manage.py makemigrations & python manage.py migrate 前者是将model层转为迁移文件migratio ...
- Delphi TMemoryStream写入到字符串和字符串写入到流
一.TMemoryStream数据写入到字符串里 var lvStream:TMemoryStream; s:AnsiString; p: PAnsiChar; begin lvStream:= TM ...
- 虚拟机扩容mac
VMware虚拟机Mac增大容量: 1.设置硬盘容量大小 2.打开虚拟机的终端,找到需要扩展的硬盘.输入命令 :diskutil list 注意 :我的硬盘名字叫yz,这一行可以看见当前分配容量,最后 ...
- Sql Server中日期时间格式化为字符串输出
在SQL Server数据库中,SQL Server日期时间格式转换字符串可以改变SQL Server日期和时间的格式,是每个SQL数据库用户都应该掌握的.本文我们主要就介绍一下SQL Server日 ...
- c# GC 新典型
public class testGC : MonoBehaviour { class XDict<K, V> { public void TryGetValue(K key, V val ...