请教一下,现在要实现一个另存为excel的操作,用户可以自己选择存放excel的路径,但是一直没找到那个控件,还请大家帮指教一下,ext的什么控件可以让用于选择路径.
谢谢!
[code="java"]
//倒出EXCLE按钮
Uo.ExcelButton = Ext.extend(Ext.Button, {
initComponent : function(){
this.iconCls = 'gk-uo-button-excel';
Uo.ExcelButton.superclass.initComponent.call(this);
},
init : function(grid){
this.ownerGrid= grid;
},
handler:function(){
var cm= this.ownerGrid.getColumnModel();
var buffer = new StringBuffer();
buffer.append("<?xml version=\"1.0\" encoding=\"UTF-8\"?>");
//列处理
for (var i = 0; i < cm.getColumnCount(); i++){
//if(!cm.isHidden(i)&&this.isIncludeHidden){
if(cm.getColumnHeader(i)!=""&&(!/<(.*)>.*<\/(.*)>/.test(cm.getColumnHeader(i)))){
buffer.append("");
buffer.append(cm.getColumnHeader(i));
buffer.append("");
}
//}
}
buffer.append("");
//数据
var l = this.ownerGrid.getStore().data.items.length;
var items = this.ownerGrid.getStore().data.items;
for (var i = 0;i < l; i++) {
//写数据行
buffer.append("");
var row=items[i].data;
//字段数据
for (var j = 0; j < cm.getColumnCount(); j++) {
var cell= row[cm.getDataIndex(j)];
if(cell!="undefined"&&cell!=undefined){
buffer.append("");
buffer.append(cell);
buffer.append("");
}
}
buffer.append("");
}
buffer.append("");
if (!Ext.fly('exportfrmDummy')) {
var frm = document.createElement('form');
frm.id = 'exportfrmDummy';
frm.name = id;
frm.className = 'x-hidden';
document.body.appendChild(frm);
}
Ext.Ajax.request({
url: Uo.getContextPath("/exportExcelDocument.action"),
method : 'POST',
form: Ext.fly('exportfrmDummy'),
callback: function(o, s, r){
Uo.Msg(r.responseText);
},
isUpload: true,
params: { data: buffer.toString()}
});
}
});
Ext.reg('uoexcelbutton', Uo.ExcelButton);
[/code]