今天为什么会想到写这篇博客,主要是因为自己之前走了太多的弯路,不过庆幸最后得到了想要的稳定的结果。
情景是这样的:新建一条资产,但是资产表中含有自定义的扩展字段。
领导交代任务的时候,问了句,谁做过自定义字段。因为之前在上家公司做过(自定义字段是已知的,都是通过表单域进行填写数据的),现在是自定义字段是不固定的,是通过基础码表进行维护的,是进行动态改变的。
之前的只需要一个资产表,和资产自定义字段扩展表。现在需要资产表,资产自定义字段扩展表及自定义字段基础维护表。
第一次接触填写的表单中,可以含义表格,真的是ext的强大之处。且还是将数据全部存储到页面,进行增删改查,最后保存到数据库中。
就因为所有的数据都保存在页面,给开发带来了很大的难题。之前做的很多东西,只是将原有的东西进行拷贝改改,类似的处理逻辑(需要用的开发语言的API方法,处理的算法逻辑都相同,只是改变下名字而已),现在这个东西没有参考的代码及页面,我的开发就带来了很大的困难。
将表单中嵌套一个表格,将表格看成是一个表单域,其值为grid.store。将表单域中的值存储到表格中,但单击一列进行修改的时候,给表单中表格初始化赋值就是一个难题了。我先是不晓得如何转换这其中的数据,不知道怎么保存grid.store作为一个变量,然后再恢复到表格中去。后来还增加了一个难题,就是修改的时候,选择某一列,如何将这个列和具体的嵌套表格对应起来。解决方案,我是先用数组来做的,做了4天,好像可以了,但是最后需要删除等操作的时候,有时候会发生下标串数据,很不稳定,给自己带来了无限的不安,这是个隐形的定时炸弹,这些天是白费了。后来解决的方案是,将grid.store转换为json字符串,作为表格的隐藏列保存,修改的时候,将该隐藏列的数据读出来,再将json字符串转换为json对象,用来创建grid.store,从而恢复数据。
根据自己的思路,百度了很久,总算看到这段代码。
var
store =
new
Ext.data.Store({
fields: [{ name:
'user_id'
}, { name:
'user_name'
}, { name:
'ssyj'
, type:
"float"
}],
data:
[]
});
store.loadData(Ext.JSON.decode(json字符串,
true
));
知识盲点:不知道怎么给Ext.data.Store赋值,或者创建该对象。
包括之前利用数组的时候,也是不知道创建数组的知识点,和操作数组的知识点。
不知道如何将json转换为json字符串(系统中的方法是自己定义这么一个功能函数,原先写这个函数的人肯定也不知道ext API中提供了这个方法,但是他的基础扎实,从来可以自己来实现该功能)。
将json字符串转为json对象。
之前工作中也遇到到这个无用功,做了很久,最后是自己的技术问题,其实有很多更好的解决方案。
还是就是自己写的代码真的很少,且基础很不扎实。
只是能够看懂代码的基础上进行修改的水准。
平时很懒,不愿意写代码。其实从工作中就可以发现,一天一个星期真的写不了多少代码,所以平时的时候要克服那种急于求成的心情。
工作中,也不善于估计自己的工作量,还有领导都是可以估计工作量的,我的工作原则就是工作时间认真的写代码,遇到问题,工作之余,认真的补充不够的知识。
一天虽然干的活很少,但是还好可以在领导给的工作时间内完成任务。所以一天之中,只要认真做好力所能及的事情就好,不需要刻意的求成效。
保证扎实的基础,多写代码,这样犯过错误之后,也只有犯过错之后才会有感触,下次才能够很快的反应过来,凭借经验,更快的写出更好更优的代码。
熟悉语言基础语法和API及其相应框架的API,免得重复造轮子。即使重复造轮子,也需要扎实的基础来支持。