动态生成Ext GUI及绑定事件
来源:互联网 发布:淘宝数据采集器 编辑:程序博客网 时间:2024/04/29 12:29
Ext元素对应的Bean转Json
pom.xml
<dependency>
<groupId>com.google.code.gson</groupId>
<artifactId>gson</artifactId>
<version>1.4</version>
</dependency>
import com.google.gson.Gson;
import com.google.gson.GsonBuilder;
public class BeanToJsonTool {
public static String toJsonUseGoogleAPI(Object bean){
Gson gson = new GsonBuilder().serializeNulls().create();
return gson.toJson(bean);
}
}
AJax取得Json数据格式返回
Json对象转Ext GUI
Ext.onReady(function(){
var elements = eval(jsonDatas );
var simple = Ext.create('Ext.form.Panel', {
id : "myForm",
url:'xxx.action',
frame:true,
title: 'Simple Form',
bodyStyle:'padding:5px 5px 0',
width: 600,
fieldDefaults: {
msgTarget: 'side',
labelWidth: 120//75
}
,items: elements //方法一,直接将对象赋值给items,前提是jsonDatas的属性含有Ext元素对应的属性,否则用方法二
});
//方法二,解析Json数据,添加Ext元素所需要的属性
function parseJson(formObj){
var elements = eval(jsonDatas );
for( var i=0;i<elements.length;i++){
var jsonObj = elements[i];
if ( jsonObj.type =='button'){
formObj.add( createBtn( jsonObj ) );
}
if ( jsonObj.type =='text'){
formObj.add( createTextField( jsonObj ) );
}
}
}
parseJson( simple );
//绑定事件
bindEvents();
function bindEvent( extObj,events ) {
for(var i=0;i<events.length;i++){
var event = events[i];
if ( event.eventName == "change") {
extObj.on("click",function(){
var ev = getEvent("click",events); //这是关键,需在on("click",function(){})里面的位置,绑定方法执行时才获取对应的事件执行
var functionStr = ev.functionStr;
var functionNames = getFunctions( ev.functionNames );
if ( functionNames != "" ) {
if ( functionStr ){
eval( functionStr );
}
eval( functionNames );
}
});
}
... ...
}
function getEvent(eventName,events){
var obj = null;
for(var i=0;i<events.length;i++){
var event = events[i];
if ( event.eventName == eventName) {
obj=event;
break;
}
}
return obj;
}
function getFunctions(functionNames){
var rtv = "";
if ( functionNames ){
for( var j=0;j< functionNames.length; j++ ) {
rtv = rtv+ functionNames[j] +"();";
}
}
return rtv;
}
- 动态生成Ext GUI及绑定事件
- 为动态生成节点绑定事件
- 动态生成按钮并绑定事件
- jquery动态生成的元素绑定事件
- jquery 为动态生成元素绑定事件
- 动态生成表单如何绑定事件:
- js动态生成的元素绑定事件
- jquery动态生成元素绑定事件
- innerHtml动态生成button并绑定事件
- GUI 事件绑定实例
- GUI中的事件绑定
- updatepanel中动态生成组件及绑定事件问题的解决
- 关于动态生成dom绑定事件失效的原因及解决和live()
- 关于动态生成dom绑定事件失效的原因及解决方法
- Ext-动态生成grid
- Ext 动态生成Grid
- 动态生成控件-绑定事件(VB.NET/C#)
- jQuery:如何给动态生成的元素绑定事件?
- MPEG2/TS 包结构简述
- 如何做好餐饮经营
- JOJ2529:Chorus
- goog memory leak tools and articles
- HTC G14刷机教程!HTC Sensation G14 RECOVERY,ROOT教程!HTC G14解锁教程!G14 ROOT教程!S-OFF教程!!
- 动态生成Ext GUI及绑定事件
- 花瓣:中国版Pinterest
- (转)Linux 的字符串截取
- String.Format用法
- C符号优先级
- Stage3D如何工作
- 服務器與一般電腦的區別
- Android手机软件开发界面跳转一例
- ucos中edit的WM_NOTIFY_CHILD_HAS_FOCUS问题