extjs的dataindex 如何拼接两个字段

extjs的dataindex 如何拼接两个字段,第1张

//获取Grid的列模型

var colModel = basicDataObjectGrid<span style="color:#cc0000">gridgetColumnModel</span>();

//依据模型结构开始解析每列信息

var confObj = colModelconfig;

//表头数组对象

var tableHeader = new Array();

//依次遍历,保存每列的dataIndex和header

for(var i = 2; i < confObjlength; i ++){

//如果栏位显示

if(confObj[i]hidden == undefined || confObj[i]hidden == false){

//栏位数组对象

var headerElem = new Array();

//保存dataIndex

headerElempush(confObj[i]dataIndex);

//保存header

headerElempush(confObj[i]header);

//将 栏位对象 存入 表头对象

tableHeaderpush(headerElem);

}

}

//将 表头对象 转换为JSON字符串

var jsonHeader = ExtutilJSONencode(tableHeader);

1 使用form表单提交

使用表单提交是调用了表单的submit方法,其配置项包括url、method等。这种方式能够以JSON的形式提交参数信息。

var myform = Extcreate('ExtformPanel',{undefined

defaultType: 'textfield',

items:[{undefined

fieldLabel : 'Name',

name : 'name'

},{undefined

fieldLabel: 'Gender',

name : 'gender'

},{undefined

fieldLabel : 'Age',

name: 'age'

}],

buttons: [{undefined

text : 'load',

handler : function(){undefined

thisup('form')getForm()submit({undefined

url: '/request/userinfo',

method : 'POST',

success : function(form, action){undefined

consolelog(form);

ExtMsgalert('title', 'load success');

});

}]);

2 使用Ajax异步提交

将上述handler方法中的内容换成一下代码即可。在Ajax的request方法中是一个配置对象,其配置参数包括url,type,params。其中params表示要提交的参数,在此例中是从form表单中通过getValues()方法获得的。该种方式也能将参数一JSON的方式提交到后台,与一个对象匹配。

var values = thisup('form')getForm()getValues();

ExtAjaxrequest({undefined

url:'/request/userinfo',

headers : {undefined'userHeader': 'userMsg'},

type:'POST',

params:values,

success:function(response){undefined

var data = responseresponseText;

consolelog(data);

consolelog("success");

},

});

3 使用ExtdataStore

在项目中经常需要通过提交一些数据来从后台获取相应的信息。例如,在表单中输入某个人的id和name就可以查出它的相关信息并在前台显示。一个关于extjs的例子如下:

//data Model

Extdefine('User',{undefined

extend: 'ExtdataModel',

fields: [{name:'name',type:'string'},

{name:'gender',type:'string'},

{name:'age',type:'string'}

]

});

var userStore = Extcreate('ExtdataStore',{undefined

model: 'User',

pageSize: 20,

// autoLoad : true,

proxy: {undefined

type : 'ajax', //提交数据的方式

url : '/request/userinfo',

reader : { //以json的形式读取将要提交的数据

type : 'json',

root : 'resultList'

},

writer : {undefined

type : 'json'

},

actionMethods : {undefined

create : 'POST'

}

},

});

//grid Panel

Extcreate('ExtgridPanel',{undefined

store: userStore,

columns: [

{header : 'Name', dataIndex : 'name'},

{header : 'Gender', dataIndex : 'gender'},

{header : 'Age', dataIndex : 'age'}

],

height: 200,

width: 400,

renderTo: 'div2'

});

//form Panel

var myform = Extcreate('ExtformPanel',{undefined

defaultType: 'textfield',

items:[{undefined

fieldLabel: 'Name',

name: 'name'

},{undefined

fieldLabel: 'Gender',

name: 'gender'

},{undefined

fieldLabel : 'Age',

name : 'age'

}],

buttons: [{undefined

text: 'load',

handler: function(){undefined

var values = thisup('form')getForm()getValues();

consolelog(values);

userStoreproxyextraParams=values;

userStoreloadPage(1);

}

}

});

在handler方法中获取form表单的参数后,赋值给userStoreproxyextraParams,然后调用userStoreloadPage(1)。调用loadPage()方法时,会委托给proxy对象去后台获取数据。所以对proxy的配置是核心。使用这个方式从后台获取数据时,后台接口返回的对象应该包括一个List字段,list中包含所需要的具体信息。比如

@ReponseBody

public UserInfoResp getUserInfo(User user) {undefined

}

UserInfoResp应该像这样有一个List字段

class UserInfoResp {undefined

List<User> resulltList;

}

getSelectionModel是获取一个选择模型。可能是CheckboxSelectionModel或者RowSelectionModel等等。然后你在去查对应的api就好了。写extjs,api是必备的!

比如extjs3的话,CheckboxSelectionModel有:

getSelected

() : Record

返回被第一条被选中的记录

getSelections

() : Array

返回所有选中的记录

如图所示

要获取html内容,需要先获取dom对象

Ext使用query类选择器就能获取,由于获取的是集合,所以如果只有一个,就是数组下标0的对象。

故,html文本用 Extquery('xxx')[0]innerHTML 获取

html文本用 Extquery('xxx')[0]outerHTML 获取

同一页面的JS上下文是相同作用域的,

你的应该是不同页面间传值、所以借用了cookies;

//接收页面:

var record=ExtutilCookiesget("valueJson");

//然后 拿个record列名自己看看

var obj=Extdecode(record);

alert(objcolName);

以上就是关于extjs的dataindex 如何拼接两个字段全部的内容,包括:extjs的dataindex 如何拼接两个字段、extjs怎么获取后台的数据或者是变量。。。求大神速回、Extjs tree.getSelectionModel().getSelection();得到的只是一个选中的对象而不是所有选中的,怎么办等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!

欢迎分享,转载请注明来源:内存溢出

原文地址: https://outofmemory.cn/web/9763292.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-05-01
下一篇 2023-05-01

发表评论

登录后才能评论

评论列表(0条)

保存