X5 使用心得

最近在使用X5 时遇到了一些问题:

对于X5 底层处理blob 字段的处理方式是:

如果是新增一条记录则

 先执行insert  : 此时insert 一条记录不处理blob 字段 此时会将blob 字段对应的值存储在

 cacheMap = TableHelper.getBlobColumnCacheMap(table, r) 中

然后执行update : 执行update 时才处理blob字段  找到对应blob字段,然后从

 cacheMap = TableHelper.getBlobColumnCacheMap(table, r) 中获取blob对应字段的值赋值给对应的bolb 字段进行更新

扫描二维码关注公众号,回复: 370232 查看本文章

那么在使用X5时:如果更新bolb 字段则需要加上

 rIdea.setState(ModifyState.EDIT);
或者
 要么先调用 row.setValue('abc',row.getValue('abc'))
把row的state变为 ModifyState.EDIT
 
总之:
 appendRow 不需要设置 ModifyState.NEW
deleteRow 不需要设置 ModifyState.DELETE 
但是update blob字段时需要
 ModifyState.EDIT
 

猜你喜欢

转载自jia-dojo.iteye.com/blog/2092978