ext中怎么导出所有数据

ext中怎么导出所有数据,第1张

首先从数据库获取信息到前端,接收数据要用store,你把的路径写入数据库中,然后通过store去load数据到前端。

然后要看你要怎么展示,在哪显示了!

例如使用ExtXTemplate,自己去写显示的位置,样式等。可以去参考ext30文档中ExtDataView的例子

var store = new ExtdataJsonStore( {

fields : [ "id", "name", "path" ],

url: '',

});

storeload();

var tpl = new ExtXTemplate('<div class="aaa"><img src="" title="" /></div>',);

var dataview = new ExtDataView( {

store: store,

tpl: tpl,

});

var panel = new ExtPanel({

items:dataview

)}

还可以使用textfield,这就要自己完成整个panel或window的布局了

例如:

{

columnWidth : 5,

layout : 'form',

labelWidth : 60,

items : [{

xtype : 'textfield',

fieldLabel : '个人照片',

width : 150,

Height : 180,

inputType : 'image',

listeners : { // 该项被载入时加载照片

'render' : function(_filed) {

_filedgetEl()domsrc = "ajpg";//这里的路径可以预先从store中读取,赋给变量然后给它

}

}

}]

}

如果是在grid里显示,那么grid中的ColumnModel里可以有一个字段是路径,然后通过store传入该路径并显示

例如:

var sm = new ExtgridCheckboxSelectionModel();

var cm = new ExtgridColumnModel([new ExtgridRowNumberer(), sm,

{

header : "",

width : 40,

dataIndex : "path",

align : "center",

renderer : function(v) {

return "<img src='" + v +"'>"

}

},

还有很多跟有关的地方,我暂时也想不起来,看具体情况具体解决了,总之后台对应的是数据库,前台对应的是store,前后交互就是把后台的数据放store里,然后前台根据store做前台该做的事

//extjs grid是没有列index的,他是只有行的index。

//你要获取列数据,其实也就是获取store里面的数据值。只能用遍历store的方法。

//比如你要获取name列的所有值,那么就遍历这个store。

var name_str;

for (var i = 0; i < storegetCount(); i++) {

var record = storegetAt(i);

alert(recordget('name'));

//name_str  = name_str + name;  //进行拼接

alert(name_str);

大致是这样,首先将该集合转化为Extdatastore,当然也可以是jsonstore或者datastore,SimpleStore,看你的集合数据是json还是数组了。然后把这个store传给combobox,指定combobox的displayField和valueField 比如这样var data = [['guestid','idvalue'],

['agentid',idvalue]]; var ds = new ExtdataSimpleStore({

fields: [id, value],

data:data

}); var cb= new ExtformComboBox({

store: ds,

displayField:"id",

valueField:"value"

});

用如下的方法可以实现:

var dataStore = new ExtdataStore({

baseParams:{method:'query',sql:'feerate_list'},

proxy:new Extdata>

数据同步问题啊

应该是弄个事件监听,等数据加载完成之后才使用那个store的,不然你程序在那里是没有数据的

storeon('afterload',function(s){

//在这里 *** 纵你的store

});

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;

}

以上就是关于ext中怎么导出所有数据全部的内容,包括:ext中怎么导出所有数据、extjs 中怎么得到GridPanel中显示的列的id或者dataIndex、请问Ext中如何用循环等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!

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

原文地址:https://54852.com/web/10160004.html

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

发表评论

登录后才能评论

评论列表(0条)

    保存