对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 相关文章推荐
Javascript操纵Cookie实现购物车程序
Nov 23 Javascript
通过JavaScript控制字体大小的代码
Oct 04 Javascript
最佳的addEvent事件绑定是怎样诞生的
Oct 24 Javascript
Iframe实现跨浏览器自适应高度解决方法
Sep 02 Javascript
js实现数组转换成json
Jun 26 Javascript
详解javascript数组去重问题
Nov 06 Javascript
javascript简单判断输入内容是否合法的方法
May 11 Javascript
强大Vue.js组件浅析
Sep 12 Javascript
代码详解Vuejs响应式原理
Dec 20 Javascript
JS中call和apply函数用法实例分析
Jun 20 Javascript
解决vue+elementui项目打包后样式变化问题
Aug 03 Javascript
jQuery实现查看图片功能
Dec 01 jQuery
对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
smarty section简介与用法分析
2008/10/03 PHP
PHP输出当前进程所有变量/常量/模块/函数/类的示例
2013/11/07 PHP
php去除二维数组的重复项方法
2015/11/03 PHP
详解PHP实现定时任务的五种方法
2016/07/25 PHP
Js+XML 操作
2006/09/20 Javascript
javascript call和apply方法
2008/11/24 Javascript
JavaScript高级程序设计(第3版)学习笔记10 再访js对象
2012/10/11 Javascript
IE6下opacity与JQuery的奇妙结合
2013/03/01 Javascript
js 表单提交后按钮变灰的实例代码
2013/08/16 Javascript
深入理解javascript严格模式(Strict Mode)
2014/11/28 Javascript
JavaScript中length属性的使用方法
2015/06/05 Javascript
在JavaScript中操作时间之getMonth()方法的使用
2015/06/10 Javascript
jQuery 利用$.ajax 时获取原生XMLHttpRequest 对象的方法
2016/08/25 Javascript
快速实现jQuery多级菜单效果
2017/02/01 Javascript
Angular2自定义分页组件
2017/04/19 Javascript
微信小程序“摇一摇”的实例代码
2017/07/20 Javascript
vue系列之动态路由详解【原创】
2017/09/10 Javascript
vue 使用vant插件做tabs切换和无限加载功能的实现
2020/11/04 Javascript
Python读取ini文件、操作mysql、发送邮件实例
2015/01/01 Python
Python 列表(List) 的三种遍历方法实例 详解
2017/04/15 Python
TensorFlow安装及jupyter notebook配置方法
2017/09/08 Python
python之文件读取一行一行的方法
2018/07/12 Python
Python获取航线信息并且制作成图的讲解
2019/01/03 Python
浅谈Pandas Series 和 Numpy array中的相同点
2019/06/28 Python
Python爬取知乎图片代码实现解析
2019/09/17 Python
python的json中方法及jsonpath模块用法分析
2019/12/06 Python
pytorch 改变tensor尺寸的实现
2020/01/03 Python
用python实现前向分词最大匹配算法的示例代码
2020/08/06 Python
中国酒类在线零售网站:酒仙网
2016/08/20 全球购物
WiFi云数码相框:Nixplay
2018/07/05 全球购物
中学生民族团结演讲稿
2014/08/27 职场文书
村党组织公开承诺书
2015/04/30 职场文书
结婚典礼主持词
2015/06/29 职场文书
MySQL GRANT用户授权的实现
2021/06/18 MySQL
Node实现搜索框进行模糊查询
2021/06/28 Javascript
分享Python获取本机IP地址的几种方法
2022/03/17 Python