0 0

关于ext.gridpane 位置问题10

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 都不显示。这样排序和名称都 看不到 。  不知道怎么贴图 。要不就看效果了 
2008年7月02日 17:27

1个答案 按时间排序 按投票排序

0 0

去看看examples/grid里面的EditorGridPanel 对你有帮助..

2008年7月04日 09:19

相关推荐

    Ext.get与Ext.fly的区别

    - **功能全面**:通过`Ext.get`获取的元素具有丰富的API集合,可以执行复杂的DOM操作,如改变样式、位置、显示/隐藏等。 - **性能优势**:当需要对同一个DOM元素进行多次操作时,`Ext.get`比`Ext.fly`更高效,因为它...

    extjs-Ext.ux.form.LovCombo下拉框

    另一方面,“火狐下div不显示背景色的问题”可能涉及到CSS的渲染差异,`Ext.ux.form.LovCombo`对此进行了修正,使得下拉框在火狐浏览器中能正确显示背景色,提供良好的用户体验。 标签中包含的“eztjs多选单选...

    Ext.Ajax.request2.x实现同步请求

    在EXTJS库中,`Ext.Ajax.request`是用于发送Ajax请求的核心方法,它支持异步和同步操作。本文将详细解析如何利用`Ext.Ajax.request`实现同步请求,并探讨其背后的原理和注意事项。 首先,我们需要理解Ajax的本质,...

    Ext.get与Ext.fly 的区别

    在阅读《Ext_Core手册.pdf》时,可以深入研究EXTJS的核心概念和API,了解更多关于`Ext.get`和`Ext.fly`的底层实现以及它们在不同场景下的应用策略。同时,理解EXTJS中的`Element`类和DOM操作对于提升EXTJS应用的性能...

    Ext.data.Store的基本用法

    ### Ext.data.Store的基本用法详解 #### 一、Ext.data.Store简介 `Ext.data.Store`是ExtJS框架中用于管理数据的核心组件之一。它主要负责数据的存储、加载、更新等操作,并且提供了多种方法来方便地处理这些数据。...

    Ext.Ajax.request跨域

    标题"Ext.Ajax.request跨域"指出我们将探讨如何使用ExtJS库中的Ajax模块进行跨域请求。Ext.Ajax.request是ExtJS提供的一种发起Ajax请求的方式,它允许开发者向服务器发送异步HTTP请求。然而,由于浏览器的同源策略...

    org.restlet.ext.spring.jar

    org.restlet.ext.spring.jar

    Ext.Store的获取方法

    在Ext.js中,`Ext.Store`是用来管理数据的类,它通常与各种UI组件(如Grid、ComboBox等)关联,用于存储和检索数据。然而,获取`Ext.Store`的方式并不像获取其他Ext组件那样直接,因为Store并不是一个具有可视界面的...

    EXT.form组件

    EXT.form组件是EXT JS库中用于构建表单界面的核心组件集合。这些组件提供了一系列丰富的控件,用于创建具有不同功能的交互式表单。在EXT JS中,表单组件不仅包含基本的输入字段,还支持复杂的输入类型和验证机制。 ...

    Ext3.2的Ext.data.Store类和Ext.Ajax类的实际运用

    环境:Window XP Sp2、Tomcat 6.0、...关于Ext.data.Store类,我们可以看出:该框架提供了客户端缓存的功能--这对于我们框架系统是非常有帮助的。本示例代码注释非常详细。 阅读对象:需要使用Ext框架进行Web开发的人员

    一个简单的Ext.Window中插入图片的例子

    在Ext JS这个强大的JavaScript框架中,`Ext.Window`是一个常用组件,用于创建浮动、可弹出的窗口。在Web应用程序中,我们常常需要在这些窗口中展示各种内容,包括文字、表格、按钮,当然还有图片。本文将详细介绍...

    Ext.tree.TreeLoader附带封装的json类

    在本文中,我们将深入探讨`Ext.tree.TreeLoader`与JSON数据在Ext JS框架中的应用。`Ext.tree.TreeLoader`是Ext JS库中的一个组件,它负责加载和解析树形结构的数据,而JSON(JavaScript Object Notation)则是一种轻...

    vbe6ext.olb

    运行Microsoft office时,vbe6ext.olb不能加载

    Ext.window从右下角弹出/隐藏

    ### 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_文档EXT.JS_文档EXT.JS_文档EXT.JS_文档EXT.JS_文档EXT.JS_文档EXT.JS_文档...

    fp40ext.dll无法加载安装程序库

    4. **注册表问题**:Windows注册表是存储程序信息的关键数据库,如果关于fp40ext.dll的注册表项出错,可能导致加载失败。 5. **路径问题**:系统可能无法找到文件的正确位置,这通常与环境变量设置有关。 6. **...

    extjs中Ext.Panel和TreePanel 组件动态加载本地页面数据

    在EXTJS这个强大的JavaScript框架中,`Ext.Panel`和`TreePanel`是两个非常重要的组件,它们被广泛用于构建复杂的用户界面。这篇文章将探讨如何在这些组件中动态加载本地页面数据,以提升用户体验并实现灵活的数据...

    删除shell360ext.dll的最佳解决方法

    本文将详细介绍如何安全有效地删除shell360ext.dll及其可能引发的问题和解决方案。 首先,我们需要理解为什么需要删除shell360ext.dll。这可能有以下几个原因: 1. 软件冲突:与其他应用程序的组件发生冲突,导致...

    Ext.Ajax.request 小问题收集

    这篇文章将深入探讨`Ext.Ajax.request`的使用,以及在实际应用中可能遇到的小问题。 首先,`Ext.Ajax.request`的基本语法如下: ```javascript Ext.Ajax.request({ url: 'your-url', method: 'GET', // 可选值有...

    EXT dojochina文本框示例Ext.form.TextField.rar

    在本示例中,"EXT dojochina文本框示例Ext.form.TextField.rar"是一个压缩包,包含了EXT框架中关于`Ext.form.TextField`组件的示例代码。 `Ext.form.TextField`是EXT框架中的一个核心组件,用于创建基本的输入字段...

Global site tag (gtag.js) - Google Analytics