工作笔录3

一、添加自定义按钮

1.找到功能区的按钮点击添加并加上状态。启动不隐藏,设置上相应的编码名并排序

2.在系统管理--角色权限给按钮授权。

3.在扩展的js文件中利用别名选择器找到按钮并注册事件,则按钮就添加完成了。

4. 响应的找法

主功能view[ref=当前功能编码名_main] 子功能view[itemId=子功能编码名+childmain] 相关组件名(form/grid) 按钮[ref=按钮的编码]   

这样就可以找到了,然后就可以各种注册事件。

具体找的方法参照core--->sys--->master-template--->核心模版.txt

'mtfuncmainview[ref=ShipmentPlan_main] mtfuncmainview[itemId=ZShipmentPlanDetail_childmain] mtformview button[ref=formKCQSquery]'

二、如何在已有的form中去传值  

比如一个值传给一个form讲它的field设置成这个值当作默认值。而这个值是动态的,所以需要传值给form

首先在判断这个form是否依托于其他的panelwindow,如果依托,则在创建window的时候将这个值传给这个

window Ext.create("Ext.window.Window",{name:'marico'}) 然后在windowdefine中定义上initComponent : function() { 

//这个定义上form创建。

//this代表当前window  在定义form的时候将值传过去。 This.属性名就可以访问到这个值

This.items=[{xtype:"form",name:this.name}]

this.callParent(arguments);});

然后在form定义的时候同样的原理在fields重新定义就可以把默认值赋值上去了。

三、如何动态生成chart图表/表格/form

a) 首先创建store数据集并定义,如果采用mvc则可以不创建直接进行下一步操作。

b) 首先是画表/表格/表单,定义表的对象。其实定义的时候可以发现 其实就是数组或对象

按指定的格式手动定义好,可以封装成方法,定义好这个对象。在创建window/panel的时候把items赋值上去就可以了(切记:如何是从后台数据库中拿数据,则ajax的请求方式为同步请求async : false)

将数据集store指定即可

c) 然后就是加载数据,如果你的storeautoLoad则可以不用执行这一步,如果不是,执行load方法,你如何从后台已经取过来数据了。 那直接loadData方法将数据传过去集合  数据则是你的root根节点定义的数据了

四、如何实现在同一个window下查询功能从新画表。

a) 需求:window下包含formchart  查询的时候 chart的结构得到改变,需要重新画,但是提前是windowform不能关和改变。

b) 实现思路:

1.不采用store的代理,直接使用自己的ajax同步请求来操作来实现。

2.定义一个方法createChart,接受需要传的参数,也就是查询条件的值。

使用ajax请求,带上这些参数 sql条件语句自己拼接,在成功后创建storechartload数据。然后将这个chart对象return

3.在创建window的时候就把items中可以把这个chart对象包含则可以加到window中。

4.在form查询按钮事件中实现。

得到查询值和当前chart对象,调用createChart得到新chart对象。使用当前chart对象调用destroy方法将其对象销毁

调用windowadd方法将新chart对象加入即可。如果使用的复杂的布局,比如border布局,在相应的位置中加上id属性,然后使用Ext.getCmp(id)来得到布局对象,然后add方法加入新chart即可完成操作。

你可能感兴趣的:(工作笔录3)