对YUI扩展的Gird组件 Part-2


Posted in Javascript onMarch 10, 2007

原文在这里 文章日期:2006-9-2

代码在这里


Sidney SheldonMaster of the GameWarner BooksBookSidney SheldonAre You Afraid of the Dark?Warner BooksBookSidney SheldonIf Tomorrow ComesWarner BooksBookSidney SheldonTell Me Your DreamsWarner VisionBookSidney SheldonBloodlineWarner BooksBookSidney SheldonThe Other Side of MeWarner BooksBookSidney SheldonA Stranger in the MirrorWarner BooksBookSidney SheldonThe Sky Is FallingWilliam Morrow & CompanyBookSidney SheldonNothing Lasts ForeverWarner BooksBookSidney SheldonThe Naked FaceWarner BooksBook
Author
Title
Manufacturer
Product Group
 Loading...

DataModel包含的类如下:

AbstractDataModel
提供事件event infrastructure等义接口interface
    '-DefaultDataModel
        定义了操控数据的API
        '-LoadableDataModel
            AJAX服务的基类
            '-XMLDataModel
                    包含以上的功能和提供XML的数据调用

看上去,这分得很详细,详细到好像过于复杂。但是在我看来,对于提升代码的可再用和扩展性,建立一个结实的DataModel是尤其重要的部分。正是基于这种方法,DataModel便能为其它的组件可再用,而不需要太多的组件--尽管它是庞大的。

如果你打开Js文件观察的话,将会发现只需几行代码便可设置XMLDataModel:

var schema = {
  tagName: 'Item',
  id: 'ASIN',
  fields: ['Author', 'Title', 'Manufacturer', 'ProductGroup']
};
this.dataModel = new YAHOO.ext.grid.XMLDataModel(schema);

实际加载的数据:

// 参数可以是url encoed或对象类型
var params = {'author': author};
//回调函数清除loading
this.dataModel.load('/blog/examples/amazon.php', params, this.clearIndicator);

表头能够对gird排序。现在进行新一番的搜索,例如输入John,数据加载后仍然按照你指定的方式排序。这是新的功能。

在一个实际项目中,我们需要一个能提供回调参数的,方便的异常处理机制。LoadableDataModel就就包含这种事件(onLoadException) 。

总的来说,一切进展顺利。有些Part1的反馈告诉,Gird在Safari和其它浏览器上能够工作^^。说真的,有些反馈真的不错! thanks!

Javascript 相关文章推荐
jQuery中is()方法用法实例
Jan 06 Javascript
js判断一个字符串是否包含一个子串的方法
Jan 26 Javascript
js光标定位文本框回车表单提交问题的解决方法
May 11 Javascript
javascript实现网页背景烟花效果的方法
Aug 06 Javascript
jQuery AjaxUpload 上传图片代码
Feb 02 Javascript
vue.js实现价格格式化的方法
May 23 Javascript
AngularJS的ng-click传参的方法
Jun 19 Javascript
vue.js实例todoList项目
Jul 07 Javascript
node.js支持多用户web终端实现及安全方案
Nov 29 Javascript
vue安装和使用scss及sass与scss的区别详解
Oct 15 Javascript
详解基于Vue,Nginx的前后端不分离部署教程
Dec 04 Javascript
JavaScript创建对象方式总结【工厂模式、构造函数模式、原型模式等】
Dec 19 Javascript
对YUI扩展的Gird组件 Part-1
Mar 10 #Javascript
学习YUI.Ext第七日-View&JSONView Part Two-一个画室网站的案例
Mar 10 #Javascript
学习YUI.Ext 第六天--关于树TreePanel(Part 2异步获取节点)
Mar 10 #Javascript
学习YUI.Ext 第七天--关于View&JSONView
Mar 10 #Javascript
学习YUI.Ext 第六天--关于树TreePanel(Part 1)
Mar 10 #Javascript
学习YUI.Ext第五日--做拖放Darg&Drop
Mar 10 #Javascript
学习YUI.Ext 第四天--对话框Dialog的使用
Mar 10 #Javascript
You might like
在PHP上显示JFreechart画的统计图方法
2013/11/03 PHP
php发送post请求函数分享
2014/03/06 PHP
zf框架的校验器InArray使用示例
2014/03/13 PHP
PHP Web木马扫描器代码分享
2015/09/06 PHP
php上传图片生成缩略图(GD库)
2016/01/06 PHP
10个对初学者非常有用的PHP技巧
2016/04/06 PHP
代码触发js事件(click、change)示例应用
2013/12/13 Javascript
jquery实现拖动效果
2016/08/10 Javascript
javascript设计模式之module(模块)模式
2016/08/19 Javascript
Ionic 2 实现列表滑动删除按钮的方法
2017/01/22 Javascript
js输入框使用正则表达式校验输入内容的实例
2017/02/12 Javascript
Angular2下使用pdf插件的方法详解
2017/04/29 Javascript
在vscode里使用.vue代码模板的方法
2018/04/28 Javascript
JS立即执行函数功能与用法分析
2019/01/15 Javascript
详解Vue的ref特性的使用
2020/01/24 Javascript
深入了解Vue.js 混入(mixins)
2020/07/23 Javascript
[02:51]DOTA2英雄基础教程 艾欧
2014/01/13 DOTA
python读取Android permission文件
2013/11/01 Python
Python中执行存储过程及获取存储过程返回值的方法
2017/10/07 Python
python3+PyQt5 创建多线程网络应用-TCP客户端和TCP服务器实例
2019/06/17 Python
树莓派使用USB摄像头和motion实现监控
2019/06/22 Python
Django admin.py 在修改/添加表单界面显示额外字段的方法
2019/08/22 Python
python 的numpy库中的mean()函数用法介绍
2020/03/03 Python
python字符串常用方法及文件简单读写的操作方法
2020/03/04 Python
Selenium基于PIL实现拼接滚动截图
2020/04/10 Python
python上下文管理的使用场景实例讲解
2021/03/03 Python
英国天然保健品网站:Simply Supplements
2017/03/22 全球购物
Linux的主要特性
2014/10/06 面试题
土木工程毕业生自荐信
2013/11/12 职场文书
幼儿园小班家长寄语
2014/04/02 职场文书
企业宣传标语
2014/06/09 职场文书
2014年财政所工作总结
2014/11/22 职场文书
乡镇团委工作总结2015
2015/05/26 职场文书
实施意见格式范本
2015/06/05 职场文书
党员学习型组织心得体会
2019/06/21 职场文书
Debian11 Xfce终端光标的颜色怎么设置?
2022/08/14 数码科技