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的更多相关文章

  1. Oracle 外键级联更新

    Oracle数据库中,外键约束只允许级联删除,不允许级联更新,因此,如果想要实现主表数据更新后,子表外键自动更新,只能取消外键关系,通过前端程序来维护实现完整引用,一个代替的解决方案是使用延迟约束和触 ...

随机推荐

  1. Link Shell Extension

    Link Shell Extension http://schinagl.priv.at/nt/hardlinkshellext/linkshellextension.html

  2. Google maps javascript API

    https://developers.google.com/maps/documentation/javascript/datalayer .... GeoJSON 是一种针对互联网上共享地理空间数据 ...

  3. scrapy工作原理探秘

    def _next_request_from_scheduler(self, spider):#engine从调度器取得下一个request slot = self.slot request = sl ...

  4. element——message-box

    `${action}`可以捕获用户选择cancel还是confirm,然后进行相应操作 官方文档:http://element-cn.eleme.io/#/zh-CN/component/messag ...

  5. WebService与RESTful WebService

    Manual Instruction Document Web Service JAX-WS & JAX-RS Author: Liu Xiang Date: 2018/01/12 1. Su ...

  6. Git实用教程

    http://iissnan.com/progit/html/zh/ch2_2.html

  7. 如何启用windows8, windows10中被停用的远程桌面,如何连接windows10远程桌面?

    针对windows8.x中文版以及win10无远程桌面功能的解决办法: 第一步到一个网站上下载一个工具包. 这个是开源的.可以放心使用.下载地址: https://github.com/binarym ...

  8. Pronunciation – The Definitive Guide to the Top 100 Words in American English

    Pronunciation – The Definitive Guide to the Top 100 Words in American English Share Tweet Share Tagg ...

  9. javascript单线程那些事

    首先,说下为什么 JavaScript 是单线程? 总所周知,JavaScript是以单线程的方式运行的.说到线程就自然联想到进程.那它们有什么联系呢? 进程和线程都是操作系统的概念.进程是应用程序的 ...

  10. npm run dev 报错:missing script:dev

    一.问题: 今天在运行vue项目时,在mac终端输入npm run dev,结果报错: 翻译是: npm错误:缺少script:dev npm错误:完整路径见:users/mymac/ .npm/_l ...