`
bainian_205
  • 浏览: 46500 次
  • 性别: Icon_minigender_1
  • 来自: 河北
社区版块
存档分类
最新评论

editorgrid批量上传数据

 
阅读更多
前台ext页面
PersonRegistration  = Ext.extend(Ext.Panel,{
personRegistrationForm:null,
personRegistrationGridPanel:null,
constructor:function() {
this.personRegistrationForm = new PersonRegistrationForm();
this.personRegistrationGridPanel = new PersonRegistrationGridPanel();
PersonRegistration.superclass.constructor.call(this,{
renderTo:"getLineCode",
     autoWidth:true,
     items:[this.personRegistrationForm,this.personRegistrationGridPanel]
    
});
}

});
/*****************************************************/
PersonRegistrationForm = Ext.extend(Ext.form.FormPanel,{
constructor:function() {
PersonRegistrationForm.superclass.constructor.call(this,{
id:"lineCodeForm",
height:100,
frame:true,
defaultType:"textfield",
buttonAlign:"left",
standarSubmit:true,
items:[{
name:"taxpayid",
allowBlank:false,
fieldLabel:"计算机代码"
}],
buttons:[
         {
        text:"保存",
        handler:function() {
        var storeValue = Ext.getCmp("personRegistrationGrid").getStore();
        //var m = storeValue.getModifiedRecords();
        var jsonarray=[];
        //Ext.each(m,function(item){jsonArray.push(item.data);});
        storeValue.each(function(item){
        //jsonarray.push(item.get("documentsid")+","+item.get("linecode"));
        jsonarray.push(item.data);
        });
        var result = Ext.encode(jsonarray);
       
        /*var lineCodeForm = Ext.getCmp("lineCodeForm");
        var count = storeValue.getCount();
        var _rd = 0;
        lineCodeForm.form.loadRecord(storeValue.getAt(0));*/
       
       
       
        Ext.getCmp("lineCodeForm").form.submit({
        url:"http://139.28.96.10:8080/scan/secure/taxcase",
method:"POST",
params:{
        result:result
        },
waitTitle:"提交数据",
waitMsg:"正在提交,请稍后",
success:function(form,action) {
        //alert(action.result.success);
Ext.Msg.alert("提示信息","提交成功");
//Ext.getCmp("savedGrid").getStore().reload();
//Ext.getCmp("savedGrid").getView().refresh();

}
        });
       
        //Ext.getCmp("lineCodeForm").items.itemAt(1).setValue(objs);
        /*Ext.getCmp("lineCodeForm").form.submit({
        url:"http://139.28.96.10:8080/scan/secure/taxcase",
method:"POST",
params:{
        taxpayid:"taxpayid",
        bojs:objs
        },
success:function(form,action) {

Ext.Msg.alert("提示信息","删除成功");*/
//Ext.getCmp("savedGrid").getStore().reload();
//Ext.getCmp("savedGrid").getView().refresh();
/*
}
        });*/
         }
         }
]
});
}

});
/**********************************************************/
PersonRegistrationGridPanel = Ext.extend(Ext.Panel,{
personRegistrationGrid:null,
constructor:function() {
this.personRegistrationGrid = new PersonRegistrationGrid();
PersonRegistrationGridPanel.superclass.constructor.call(this,{
frame:true,
height:200,
items:[this.personRegistrationGrid]
});
}
});
/******************************************************************/
PersonRegistrationGrid = Ext.extend(Ext.grid.EditorGridPanel,{
lineCodeStore:null,
constructor:function() {
this.lineCodeStore = new LineCodeStore();
PersonRegistrationGrid.superclass.constructor.call(this,{
id:"personRegistrationGrid",
store:this.lineCodeStore,
height:200,
clicksToEdit:2,
columns:[{
header:"id",
dataIndex:"documentsid"

},{
header:"文档名称",
dataIndex:"documentsname"
},{
header:"条形码",
dataIndex:"linecode",
editor:new Ext.form.TextField({

listeners:{
blur:function(k,e){

},
keyup:function(textfield,e) {
//alert("12121");
},
specialkey:function(field,e) {
if(e.getKey()==e.ENTER) {

e.keyCode=9;
}
}
}

})
}],


viewConfig:{
forceFit:true
},
listeners:{
afteredit:function(e){


}
}

});
}
});
/********************************************************************/
LineCodeStore = Ext.extend(Ext.data.JsonStore,{
constructor:function() {
LineCodeStore.superclass.constructor.call(this,{

url:"http://139.28.96.10:8080/scan/secure/taxrelated?id=1",
storeId:"lineCodeStore",
root:"documentses",
autoLoad:true,
sortInfo:{
field:"documentsid",
direction:"asc"
},
//totalProperty:"total",
fields:[{
name:"documentsid",
mapping:"id"
},{
name:"documentsname",
mapping:"documentsname"
},{
name:"linecode",
mapping:""
}]

});
}
});
后台Action页面
public class TaxcaseAction extends ActionSupport {
//private JSONArray arr = new JSONArray();
private String[] result = null;
private  Boolean success = false;
private String taxpayid;
private Taxcase taxcase;
private TaxcaseService taxcaseService;
private TaxpayerService taxpayerService;
@Override
public String execute() throws Exception {
Taxpayer taxpayer = this.taxpayerService.getTaxpayer(1);
//System.out.println(this.taxpayerService.getTaxpayer(1).getPayername());
//this.taxcase.setTaxpayer(taxpayer);
//this.taxcaseService.add(taxcase);
//System.out.println(result[0].indexOf("]"));
//String s = "{"+result[0].substring(1, 166)+"}";
JSONArray arr = JSONArray.fromObject(result[0]);//这里要注意是result[0]
System.out.println(arr.toArray());


Object[] o = arr.toArray();
for(Object obj:o) {
System.out.println(obj);
JSONObject json = (JSONObject)obj;
TaxcaseValue taxcaseValue = (TaxcaseValue)JSONObject.toBean(json,TaxcaseValue.class);
this.taxcase = taxcaseValue.gettaxcase();
this.taxcase.setTaxpayer(taxpayer);
this.taxcaseService.add(taxcase);
}
this.success = true;
return SUCCESS;
}
本来按照查询的资料前台传过来的是array,但JSONArray.fromObject不执行也不报错
后来通过Debug发现数据在[0]里面,不然JSONObject.toBean也是不执行也不报错,当然这之前json-lib的依赖包也不对,看来版本也是要兼容的
分享到:
评论

相关推荐

    MySQL,DWR,JSON,EXT 实现EditorGrid

    使用EXT的EditorGrid,实现前台页面对数据直接进行增删改查操作。用户的友好性较好,已经实现分页功能。例子中使用了DWR和JSON.含MySQL数据库脚本,并已加入Log4j日志记录。本例详细讲解可以参见:...

    ext增删查改demo

    EXTJS提供了一系列API来支持这些操作,如Grid面板可以方便地展示数据,并通过EditorGrid实现数据的编辑;FormPanel则用于创建和更新数据,而Store负责数据的存储和检索。 3. 数据模型(Model):EXTJS中的数据模型...

    AJAX 入门视频之 Ext 2.0.1 & DWR 1表格实时编辑器实例

    在本案例中,DWR 1用于处理EditorGrid中的数据修改,将用户的编辑操作同步到服务器端,进行数据保存或更新。选择DWR 1而非DWR 2的原因在于,DWR 2的库文件较大,可能增加不必要的复杂性。 开发者强调,这个实例没有...

    Ext 4.1.0 中文API

    它还可以与其他组件结合,如EditorGrid,实现单元格编辑。 8. **Form(表单)**:Ext Form组件用于创建和处理用户输入。它包括各种表单字段,如文本框、复选框、下拉列表等,并支持验证和数据提交。 9. **Charts...

    ExtJs + api + 笔记 + 完整包

    EditorGrid则允许用户直接在表格单元格中编辑数据,适用于数据录入和管理的场景。 "22Viewport及window.doc"讨论了Viewport和Window组件。Viewport将整个浏览器视口作为容器,常用于全屏应用。Window则是一种浮动的...

    ext的edittreegrid实现

    在EXT JS库中,"ext的edittreegrid实现"是一种功能强大的组件,它结合了树形视图(Tree)和编辑网格(EditorGrid)的功能,允许用户在具有层次结构的数据上进行直观的编辑操作。这个组件对于那些需要管理结构化且...

    Extjs 初体验

    - `EditorGrid`:这是一个可编辑的网格,允许用户直接在单元格内编辑数据,常用于数据输入和管理。 - `Grid`:基础的数据显示网格,可以配置列、排序、分页等功能,用于展示和操作表格数据。 - `JsonView`:与...

    深入浅出ExtJS第2版

    3.9.2 通过后台脚本获得分页数据 49 3.9.3 分页工具栏显示在Grid的顶部 51 3.9.4 让EXT支持前台排序 52 3.10 后台排序 53 3.11 可编辑表格控件--EditorGrid 55 3.11.1 制作一个简单的EditorGrid 55 3.11.2 ...

    extjs中的xtype的所有类型介绍

    3. editorgrid - xtype: 'editorgrid', 描述: 可编辑的表格 4. propertygrid - xtype: 'propertygrid', 描述: 属性表格 5. dataview - xtype: 'dataview', 描述: 数据显示视图 6. listview - xtype: 'listview', ...

    精通JS脚本之ExtJS框架.part2.rar

    本书共分17章,分别介绍了JavaScript的对象编程、JavaScript浏览器对象模型和事件机制、ExtJS的核心类库和组件、ExtJS的事件处理方式、设计进度条、设计工具栏和菜单栏、设计面板、设计表格、设计表单、设计数据表、...

    精通JS脚本之ExtJS框架.part1.rar

    本书共分17章,分别介绍了JavaScript的对象编程、JavaScript浏览器对象模型和事件机制、ExtJS的核心类库和组件、ExtJS的事件处理方式、设计进度条、设计工具栏和菜单栏、设计面板、设计表格、设计表单、设计数据表、...

    extjs 项目整理

    - **EditorGrid**: 可编辑的表格。 - **PropertyGrid**: 属性表格。 - **Editor**: 编辑器。 - **DataView**: 数据显示视图。 - **ListView**: 列表视图。 - **工具栏组件**: - **Paging**: 分页工具条。 - *...

    extjs xtype

    10. `editorgrid` - `Ext.grid.EditorGridPanel`:可编辑的表格,允许用户直接在表格中修改数据。 11. `grid` - `Ext.grid.GridPanel`:标准的表格组件,用于展示数据。 12. `paging` - `Ext.PagingToolbar`:分页...

    EXT2.0中文教程

    8.3.2. 批量生成还是需要Template模板 8.4. Ext.data命名空间 8.4.1. proxy系列 8.4.1.1. 人畜无害的MemoryProxy 8.4.1.2. 常规武器HttpProxy 8.4.1.3. 洲际导弹ScriptTagProxy 8.4.2. reader系列 8.4.2.1. 简单易行...

    EXT教程EXT用大量的实例演示Ext实例

    表格可以动态添加列,调整列宽,支持分页,甚至可以结合EditorGrid实现行的编辑和动态添加。Ext JS 2.0相较于1.x版本,表格控件的功能和API有更多的优化和改进。表格的分页功能可以通过前端工具条实现,也可以通过...

    Ext中xtype和vtype.

    * editorgrid:一个编辑器网格组件,用于编辑数据。 * grid:一个网格组件,用于显示数据。 * paging:一个分页工具栏组件,用于分页显示数据。 * panel:一个面板组件,用于容纳其他组件。 * progress:一个进度条...

    Ext 开发指南 学习资料

    8.3.2. 批量生成还是需要Template模板 8.3.3. 醍醐灌顶,功能强劲的模板引擎XTemplate。 8.4. Ext.data命名空间 8.4.1. proxy系列 8.4.1.1. 人畜无害MemoryProxy 8.4.1.2. 常规武器HttpProxy 8.4.1.3. 洲际导弹...

    Ext组件描述,各个组件含义

    - **主要用途**:指示后台操作的完成状态,如文件上传或下载过程。 **2.10 Split Button (Ext.SplitButton)** - **xtype**: `splitbutton` - **功能描述**:Split Button 是一个组合按钮,主要由一个主按钮和一个...

    ExtJS的xtype列表

    - `editorgrid`: 可编辑的网格,允许用户直接在表格内修改数据。 - `propertygrid`: 展示属性列表的表格,常用于展示对象的属性信息。 - `editor`: 在表格或其他组件中嵌入的编辑器,用于输入或编辑数据。 - `...

Global site tag (gtag.js) - Google Analytics