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. smfony

    1.smfony设置量表之间的关系 2.smyfony2-curd-数据库创建 3.smyfony2 增删改查 4. 5. 6.

  2. 10. js截取最后一个斜杠后面的字符串

    var startIndex = filePath.lastIndexOf("\\"); endIndex = filePath.lastIndexOf("." ...

  3. Asp.net Webform的页面生命周期

    1.分析请求的资源路径,寻找目录中对应的资源文件,若无法找到资源文件,则返回404错误2.分析资源文件的Page命令,通过Page指令找到代码文件和类 3.将页面文件和类一起编译生成最终的类(仅仅在第 ...

  4. UDP通讯协议实例

    1.服务端 import java.io.IOException; import java.net.*; public class UDPDemo { public static void main( ...

  5. 浅谈transient关键字

    1,用途 当一个对象实现了Serilizable接口,这个对象就可以被序列化.而有时候我们可能要求:当对象被序列化时(写入字节序列到目标文件)时,有些属性需要序列化,而其他属性不需要被序列化,打个比方 ...

  6. ABAP-计算器-动态表达式

    data:lv_value type string. call function 'EVAL_FORMULA' exporting formula = '90 <= 90' program = ...

  7. Leetcode 题解 Jump Game

    一,笨方法  o(n^2).果然看完别人的解法就自惭形秽啊!! 我用的动态规划方法. 比如输入 i: 0 1 2 3 4 ———————————————— a[i]: 2 3 1 0 4 直接利用原来 ...

  8. jquery左侧菜单

    <!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8&quo ...

  9. docker-compose初试及命令基础

    转自:https://www.cnblogs.com/jsonhc/p/7811929.html 以一个简单的lnmp.yaml的配置文件进行讲解docker-compose命令的基础讲解,熟练掌握命 ...

  10. 【转】 DOTA2中的伪随机及其lua实现

    因为单纯的随机确实会影响到竞技性,所以dota2引入的是伪随机机制,在大量的技能中,比如说混沌的混乱之箭.剑圣的剑舞.冰女的冰霜领域之类的技能,都利用了伪随机机制. 而纯随机,或者标准正态分布并不会因 ...