Ext.QuickTips.init();
var fm = Ext.form;
var sm = new Ext.grid.CheckboxSelectionModel({handleMouseDown: Ext.emptyFn});
var cm = new Ext.grid.ColumnModel([
sm,{
header: '门店号',
dataIndex:'code',
//width:80,
editor: new fm.TextField({
allowBlank: false
})
},{
header: '门店描述',
dataIndex: 'name',
//width:150,
editor: new fm.TextField({
allowBlank: false
})
}
]);
cm.defaultSortable = true;
var Member = Ext.data.Record.create([
{name: 'code', type: 'string'},
{name: 'name', type: 'string'}
]);
var store = new Ext.data.JsonStore({
url:'../posShopManager.do',
baseParams:{command:'query'},
totalProperty:'count',
root:'members',
fields:Member,
pruneModifiedRecords:true,
sortInfo: {field: "code", direction: "ASC"} //设置默认排序规则, EditorGridPanel在新增加一行却未保存时如果点击header排序会出现'行142字符6983,modified为空或不是对象'
});
//表单窗体
var memberAddWindow;
var grid = new Ext.grid.EditorGridPanel({
store: store,
cm: cm,
renderTo: 'member_grid',
resizeable:true,
//width:600,
//height:480,
autoHeight:true, //自动高度
autoExpandColumn:2, //将指定列自动填充剩余部分
title:'门店管理',
frame:true,
clicksToEdit:1,
sm:sm,
iconCls:'icon-grid',
loadMask: true,
stripeRows:true,
tbar:[
{// 添加按钮
text:'添加',
iconCls:'user_add',
handler:function(){
var m = new Member({
code:'default',
name:'new_shop'
});
grid.stopEditing();
store.insert(0, m);
grid.startEditing(0, 2);
store.getAt(0).dirty=true; // 设置该行记录为脏数据(默认为非脏数据),否则在保存时将无法判断该行是否已修改
}
},'-',{//删除按钮
id:'btnDelete',
text:'删除',
iconCls:'user_delete',
handler:function(){
var sm = grid.getSelectionModel();
var selected = sm.getSelections();
var ids = [];
for(var i=0;i<selected.length;i+=1){
var member = selected[i].data;
if(member.code) {
ids.push(member.code); //如果有ID属性,则表示该行数据是被修改过的,所以需要访问数据库进行删除
}else{
//如果没有ID属性,则表示该行数据是新添加的未保存的数据,所以不需要访问数据库进行删除该行
store.remove(store.getAt(i));
}
}
if(ids.join('')==='')
{
return;
}
Ext.Msg.confirm('信息','确定要删除所选项吗?',function(btn){
if(btn=='yes'){
//发送删除请求
Ext.lib.Ajax.request(
'POST',
'posShopManager.do',{
success:function(request){
var message = request.responseText;
Ext.Msg.alert('信息',message);
store.reload();
},failure:function(){
Ext.Msg.alert('错误','删除时出现未知错误.');
}
},
'command=delete&ids='+ids
);
}
});
}
},'-',{//保存按钮
text:'保存',
iconCls:'save',
handler:function(){
var json = [];
for(i=0,cnt=store.getCount();i<cnt;i+=1){
var record = store.getAt(i);
if(record.dirty) // 得到所有修改过的数据
{
json.push(record.data);
}
}
if(json.length==0){
Ext.Msg.alert('信息','没有对数据进行任何更改');
return;
}
//发送保存请求
Ext.lib.Ajax.request(
'POST',
'posShopManager.do',{
success:function(request){
var message = request.responseText;
Ext.Msg.alert('信息',message);
store.reload();
//grid.getView().refresh();
},
failure:function(){
Ext.Msg.alert("错误", "与后台联系的时候出现了问题");
}
},
'command=save&members='+encodeURIComponent(Ext.encode(json))
);
}
}
为什么我生成的 表格 其中的 增加/删除/保存 的按钮不是 靠 左的 它们居中 而且 ColumnModel 中的 header 都不显示。这样排序和名称都 看不到 。 不知道怎么贴图 。要不就看效果了
相关推荐
- **功能全面**:通过`Ext.get`获取的元素具有丰富的API集合,可以执行复杂的DOM操作,如改变样式、位置、显示/隐藏等。 - **性能优势**:当需要对同一个DOM元素进行多次操作时,`Ext.get`比`Ext.fly`更高效,因为它...
另一方面,“火狐下div不显示背景色的问题”可能涉及到CSS的渲染差异,`Ext.ux.form.LovCombo`对此进行了修正,使得下拉框在火狐浏览器中能正确显示背景色,提供良好的用户体验。 标签中包含的“eztjs多选单选...
在EXTJS库中,`Ext.Ajax.request`是用于发送Ajax请求的核心方法,它支持异步和同步操作。本文将详细解析如何利用`Ext.Ajax.request`实现同步请求,并探讨其背后的原理和注意事项。 首先,我们需要理解Ajax的本质,...
在阅读《Ext_Core手册.pdf》时,可以深入研究EXTJS的核心概念和API,了解更多关于`Ext.get`和`Ext.fly`的底层实现以及它们在不同场景下的应用策略。同时,理解EXTJS中的`Element`类和DOM操作对于提升EXTJS应用的性能...
### Ext.data.Store的基本用法详解 #### 一、Ext.data.Store简介 `Ext.data.Store`是ExtJS框架中用于管理数据的核心组件之一。它主要负责数据的存储、加载、更新等操作,并且提供了多种方法来方便地处理这些数据。...
标题"Ext.Ajax.request跨域"指出我们将探讨如何使用ExtJS库中的Ajax模块进行跨域请求。Ext.Ajax.request是ExtJS提供的一种发起Ajax请求的方式,它允许开发者向服务器发送异步HTTP请求。然而,由于浏览器的同源策略...
org.restlet.ext.spring.jar
在Ext.js中,`Ext.Store`是用来管理数据的类,它通常与各种UI组件(如Grid、ComboBox等)关联,用于存储和检索数据。然而,获取`Ext.Store`的方式并不像获取其他Ext组件那样直接,因为Store并不是一个具有可视界面的...
EXT.form组件是EXT JS库中用于构建表单界面的核心组件集合。这些组件提供了一系列丰富的控件,用于创建具有不同功能的交互式表单。在EXT JS中,表单组件不仅包含基本的输入字段,还支持复杂的输入类型和验证机制。 ...
环境:Window XP Sp2、Tomcat 6.0、...关于Ext.data.Store类,我们可以看出:该框架提供了客户端缓存的功能--这对于我们框架系统是非常有帮助的。本示例代码注释非常详细。 阅读对象:需要使用Ext框架进行Web开发的人员
在Ext JS这个强大的JavaScript框架中,`Ext.Window`是一个常用组件,用于创建浮动、可弹出的窗口。在Web应用程序中,我们常常需要在这些窗口中展示各种内容,包括文字、表格、按钮,当然还有图片。本文将详细介绍...
在本文中,我们将深入探讨`Ext.tree.TreeLoader`与JSON数据在Ext JS框架中的应用。`Ext.tree.TreeLoader`是Ext JS库中的一个组件,它负责加载和解析树形结构的数据,而JSON(JavaScript Object Notation)则是一种轻...
运行Microsoft office时,vbe6ext.olb不能加载
### Ext.window从右下角弹出/隐藏:深入解析与实现 #### 一、概述 在Web应用开发中,为了提升用户体验,开发者经常会利用各种UI框架来实现丰富的交互效果。ExtJS作为一款成熟且功能强大的JavaScript框架,在这方面...
EXT.JS_文档EXT.JS_文档EXT.JS_文档EXT.JS_文档EXT.JS_文档EXT.JS_文档EXT.JS_文档EXT.JS_文档EXT.JS_文档EXT.JS_文档EXT.JS_文档EXT.JS_文档EXT.JS_文档EXT.JS_文档EXT.JS_文档EXT.JS_文档EXT.JS_文档EXT.JS_文档...
4. **注册表问题**:Windows注册表是存储程序信息的关键数据库,如果关于fp40ext.dll的注册表项出错,可能导致加载失败。 5. **路径问题**:系统可能无法找到文件的正确位置,这通常与环境变量设置有关。 6. **...
在EXTJS这个强大的JavaScript框架中,`Ext.Panel`和`TreePanel`是两个非常重要的组件,它们被广泛用于构建复杂的用户界面。这篇文章将探讨如何在这些组件中动态加载本地页面数据,以提升用户体验并实现灵活的数据...
本文将详细介绍如何安全有效地删除shell360ext.dll及其可能引发的问题和解决方案。 首先,我们需要理解为什么需要删除shell360ext.dll。这可能有以下几个原因: 1. 软件冲突:与其他应用程序的组件发生冲突,导致...
这篇文章将深入探讨`Ext.Ajax.request`的使用,以及在实际应用中可能遇到的小问题。 首先,`Ext.Ajax.request`的基本语法如下: ```javascript Ext.Ajax.request({ url: 'your-url', method: 'GET', // 可选值有...
在本示例中,"EXT dojochina文本框示例Ext.form.TextField.rar"是一个压缩包,包含了EXT框架中关于`Ext.form.TextField`组件的示例代码。 `Ext.form.TextField`是EXT框架中的一个核心组件,用于创建基本的输入字段...