- 浏览: 46209 次
- 性别:
- 来自: 河北
最新评论
前台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的依赖包也不对,看来版本也是要兼容的
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的依赖包也不对,看来版本也是要兼容的
发表评论
-
list遍历 的奇怪问题
2012-02-19 19:59 739今天用extjs做了一棵树 从后台首先得到了set结合 然后用 ... -
tree节点的排序
2012-02-19 15:46 809我的tree是从后台得到的Set集合,所以顺序不稳定,所以看了 ... -
action不执行的低级错误
2012-02-18 11:10 636太惭愧,太惭愧,这个错误怎么经常犯呢,action中的属性没有 ... -
EditorGridPanel 加载问题
2012-02-04 15:27 851今天的问题是本项目从数据库中加载表到EditorGridPan ... -
myeclipse permSize的问题
2011-11-19 19:41 791和这个问题斗争了一个下午,看了很多帖子,但都没有很好地解决 最 ... -
while loading persisted sessions: java.io.EOFException
2011-11-19 19:39 733第二次遇到这个问题,忘了怎么解决了,记下来 原因: EOFE ... -
ssh整合备忘
2011-11-17 16:39 781好久没有用ssh了,忘得差不多了整理一下备忘 1、java w ... -
extjs的边框
2011-06-23 11:08 914刚刚做了一棵树,郁闷的是总是有边框,开始设置的是margins ... -
Action没有访问到的一种情况
2011-06-21 16:19 699今天做小联系,上面的Action可以访问到,下面的却没有能够访 ... -
extjs 文件下在链接的写法
2011-02-23 16:22 1226文件下载如果简易的些,可以直接把文件路径地址写在那里,当然也可 ... -
action没有访问到的一种情况
2011-02-23 09:48 717今天写了一个小的测试form表单的url属性设置为“http: ... -
extjs dategird的刷新问题
2011-02-11 14:43 746作了一个小的dategrid,选中一条记录点击发送后该纪录应从 ... -
there is no action mapped for namespace action name的一种情况
2010-12-28 15:09 950写了struts2一个加载gridpanel的action在里 ... -
关于gridpanel无法显示的问题
2010-12-27 16:18 780在做一个gridpanel,反复写了很多遍,但在前台老是提示g ... -
关于extjs textfield hidden属性的注意
2010-12-26 15:33 1486原来只把textfield的hidden属性设置成true在前 ... -
extjs textfield disabled属性的注意
2010-12-26 15:13 2771学习了extjs的textfield 其中有两项内容是页面加载 ...
相关推荐
使用EXT的EditorGrid,实现前台页面对数据直接进行增删改查操作。用户的友好性较好,已经实现分页功能。例子中使用了DWR和JSON.含MySQL数据库脚本,并已加入Log4j日志记录。本例详细讲解可以参见:...
EXTJS提供了一系列API来支持这些操作,如Grid面板可以方便地展示数据,并通过EditorGrid实现数据的编辑;FormPanel则用于创建和更新数据,而Store负责数据的存储和检索。 3. 数据模型(Model):EXTJS中的数据模型...
在本案例中,DWR 1用于处理EditorGrid中的数据修改,将用户的编辑操作同步到服务器端,进行数据保存或更新。选择DWR 1而非DWR 2的原因在于,DWR 2的库文件较大,可能增加不必要的复杂性。 开发者强调,这个实例没有...
它还可以与其他组件结合,如EditorGrid,实现单元格编辑。 8. **Form(表单)**:Ext Form组件用于创建和处理用户输入。它包括各种表单字段,如文本框、复选框、下拉列表等,并支持验证和数据提交。 9. **Charts...
EditorGrid则允许用户直接在表格单元格中编辑数据,适用于数据录入和管理的场景。 "22Viewport及window.doc"讨论了Viewport和Window组件。Viewport将整个浏览器视口作为容器,常用于全屏应用。Window则是一种浮动的...
在EXT JS库中,"ext的edittreegrid实现"是一种功能强大的组件,它结合了树形视图(Tree)和编辑网格(EditorGrid)的功能,允许用户在具有层次结构的数据上进行直观的编辑操作。这个组件对于那些需要管理结构化且...
- `EditorGrid`:这是一个可编辑的网格,允许用户直接在单元格内编辑数据,常用于数据输入和管理。 - `Grid`:基础的数据显示网格,可以配置列、排序、分页等功能,用于展示和操作表格数据。 - `JsonView`:与...
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 ...
3. editorgrid - xtype: 'editorgrid', 描述: 可编辑的表格 4. propertygrid - xtype: 'propertygrid', 描述: 属性表格 5. dataview - xtype: 'dataview', 描述: 数据显示视图 6. listview - xtype: 'listview', ...
本书共分17章,分别介绍了JavaScript的对象编程、JavaScript浏览器对象模型和事件机制、ExtJS的核心类库和组件、ExtJS的事件处理方式、设计进度条、设计工具栏和菜单栏、设计面板、设计表格、设计表单、设计数据表、...
本书共分17章,分别介绍了JavaScript的对象编程、JavaScript浏览器对象模型和事件机制、ExtJS的核心类库和组件、ExtJS的事件处理方式、设计进度条、设计工具栏和菜单栏、设计面板、设计表格、设计表单、设计数据表、...
- **EditorGrid**: 可编辑的表格。 - **PropertyGrid**: 属性表格。 - **Editor**: 编辑器。 - **DataView**: 数据显示视图。 - **ListView**: 列表视图。 - **工具栏组件**: - **Paging**: 分页工具条。 - *...
10. `editorgrid` - `Ext.grid.EditorGridPanel`:可编辑的表格,允许用户直接在表格中修改数据。 11. `grid` - `Ext.grid.GridPanel`:标准的表格组件,用于展示数据。 12. `paging` - `Ext.PagingToolbar`:分页...
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. 简单易行...
表格可以动态添加列,调整列宽,支持分页,甚至可以结合EditorGrid实现行的编辑和动态添加。Ext JS 2.0相较于1.x版本,表格控件的功能和API有更多的优化和改进。表格的分页功能可以通过前端工具条实现,也可以通过...
* editorgrid:一个编辑器网格组件,用于编辑数据。 * grid:一个网格组件,用于显示数据。 * paging:一个分页工具栏组件,用于分页显示数据。 * panel:一个面板组件,用于容纳其他组件。 * progress:一个进度条...
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. 洲际导弹...
- **主要用途**:指示后台操作的完成状态,如文件上传或下载过程。 **2.10 Split Button (Ext.SplitButton)** - **xtype**: `splitbutton` - **功能描述**:Split Button 是一个组合按钮,主要由一个主按钮和一个...
- `editorgrid`: 可编辑的网格,允许用户直接在表格内修改数据。 - `propertygrid`: 展示属性列表的表格,常用于展示对象的属性信息。 - `editor`: 在表格或其他组件中嵌入的编辑器,用于输入或编辑数据。 - `...