【原】提高篇:第十八篇,ext2.2打造全新功能grid系列--编辑修改篇

只所以把这个作为系列之一,主要的就是说明如何获取数据以及在点编辑按钮时,如何将数据动态绑定到窗体对应的字段里面
在获取记录时首先需要选中某条数据前面的复选框,否则会有有自定义的消息提示你如何正确的操作.

上面的grid列表的分页栏里就实现了添加编辑按钮的功能,在没有选中任何数据的时候,会弹出下面的窗口提示,如果选中了多行数据,默认情况下也是对第一条数据进行编辑修改.先看图吧:

上面这个消息框就是对没有正确操作编辑按钮所弹出的消息,如果首先选中了数据后再点编辑按钮,就会直接出现下面的编辑修改窗口

上面的窗口就是在选择数据后弹出的窗口,里面的数据自动绑定.

完整代码下载 

说明下:3.0版本的源代码运行后的图片和上图稍微有点区别,我去掉了几个图标和字段,其中涉及的3.0框架和数据库在下载区域可以下载到。

标签: EXT, grid, pagingbar
posted @ 2008-10-28 17:23 殷良胜 阅读(4591) 评论(13) 编辑 收藏

 回复 引用 查看   
#1楼[楼主]2008-10-30 13:01 | 殷良胜      
欢迎访问Ext小组:
http://space.cnblogs.com/group/ext

 回复 引用   
#2楼2009-01-04 13:30 | KGIer[未注册用户]
toggleHandler: function(btn, pressed)
这句能讲下吗?
我不是很明白,ToggeHandler它里面有两个参数,这个btn是怎么定义的,还有这个pressed是函数还是?
看了,很是不明白
期待你的解答,谢谢!

 回复 引用   
#3楼2009-03-18 10:20 | R_ocky[未注册用户]
胜哥,jsonGrid.aspx这个页的源代码有没有呀?能从那里去找到?能不能给我邮箱里发一份呀?R_ocky@hotmail.com,非常感谢!
 回复 引用 查看   
#4楼[楼主]2009-03-18 21:23 | 殷良胜      
--引用--------------------------------------------------
R_ocky: 胜哥,jsonGrid.aspx这个页的源代码有没有呀?能从那里去找到?能不能给我邮箱里发一份呀?R_ocky@hotmail.com,非常感谢!
--------------------------------------------------------
呵呵
这个是返回json字符串的页面
你自己建一个这样的页面
然后只保留该页面的最上一行代码即可

 回复 引用   
#5楼2009-05-25 17:03 | 刘liu[未注册用户]
胜哥 如果我要在里面直接编辑后 要怎样才能去保存呢 怎么发现没这方面的例子啊 可以麻烦胜哥写一个吗
 回复 引用 查看   
#6楼[楼主]2009-05-28 23:06 | 殷良胜      
--引用--------------------------------------------------
刘liu: 胜哥 如果我要在里面直接编辑后 要怎样才能去保存呢 怎么发现没这方面的例子啊 可以麻烦胜哥写一个吗
--------------------------------------------------------

 回复 引用   
#7楼2009-05-31 09:57 | 刘liu[未注册用户]
在哪里呢
 回复 引用 查看   
#8楼[楼主]2009-05-31 10:35 | 殷良胜      
--引用--------------------------------------------------
刘liu: 在哪里呢
--------------------------------------------------------
最近忙 暂时没得空闲

 回复 引用   
#9楼2009-05-31 19:38 | 张雷98123[未注册用户]
版主你好,我刚学习ext,遇到了个小问题,ColumnModel添加RowNumberer后页面不能加载,能帮忙看一下吗,谢谢了,源码如下:

<html>
<head>
<title></title>
<meta http-equiv="Content-Type" content="text ml; charset=UTF-8">
</head>
<link rel="stylesheet" type="text/css" href="../ext-2.2/resources/css/ext-all.css" />
<script type="text/javascript" src="../ext-2.2/adapter/ext/ext-base.js"></script>
<script type="text/javascript" src="../ext-2.2/ext-all.js"></script>
<body>
<div id="grid"></div>
</body>
< ml>
<script type="text/javascript">
Ext.onReady(function(){
var sm = new Ext.grid.CheckboxSelectionModel({singleSelect:true});

var cm = new Ext.grid.ColumnModel([
new Ext.grid.RowNumberer(),
{header:'编号',dataindex:'xh',sortable:true},
{header:'姓名',dataindex:'name'}
]);
var data=[
[1,'tom'],
[2,'slice'],
[3,'frank']
];
var ds = new Ext.data.Store(
{
proxy:new Ext.data.MemoryProxy(data),
reader: new Ext.data.ArrayReader({},[
{name:'xh'},
{name:'name'}
]
),
autoLoad:true
}
);
var grid = new Ext.grid.GridPanel({
renderTo:'grid',
store: ds,
width: 800,
autoHeight:true,
cm: cm,
viewConfig:{forceFit:true}
}
);
grid.render();
})

</script>
提示this.ds.fields.get(C) is undefined

 回复 引用   
#10楼2009-07-30 12:08 | 沙漠雨季[未注册用户]
楼上的,你dataindex的i没大写
 回复 引用   
#11楼2009-10-28 20:09 | haoren123[未注册用户]
问一下你的这句话Ext.getCmp("MenuGridPanel").getSelections(); js总是说运行时出错,对象不支持此属性或方法.请问怎么回事啊
 回复 引用 查看   
#12楼[楼主]2009-10-28 22:07 | 殷良胜      
@haoren123
目前这个是ext2.2版本的
Ext.getCmp("MenuGridPanel").getSelections();
这句话是无错的
但是如果是3.0版本的 就需要改为
Ext.getCmp("MenuGridPanel").getSelectionModel().getSelected().json或者
Ext.getCmp("MenuGridPanel").getSelectionModel().getSelections()
都可以
这个示例我马上改为3.0版本的 提供源代码下载

 回复 引用 查看   
#13楼2010-05-06 22:38 | yfzhu      
引用haoren123:问一下你的这句话Ext.getCmp("MenuGridPanel").getSelections(); js总是说运行时出错,对象不支持此属性或方法.请问怎么回事啊



遇到同样问题,哪位大虾解释一下?是否extjs的版本要用2.2的才行?