对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 相关文章推荐
在网页中屏蔽快捷键
Sep 06 Javascript
js带按钮的提示框可供选择示例代码
Sep 17 Javascript
js获取和设置属性的方法
Feb 20 Javascript
JavaScript修改浏览器tab标题小技巧
Jan 06 Javascript
浅谈Jquery核心函数
Jun 18 Javascript
AngularJS使用ng-options指令实现下拉框
Aug 23 Javascript
js实现显示手机号码效果
Mar 09 Javascript
Vue中封装input组件的实例详解
Oct 17 Javascript
基于Vue、Vuex、Vue-router实现的购物商城(原生切换动画)效果
Jan 09 Javascript
vue踩坑记-在项目中安装依赖模块npm install报错
Apr 02 Javascript
vue vantUI tab切换时 list组件不触发load事件的问题及解决方法
Feb 14 Javascript
详解vue-cli项目在IE浏览器打开报错解决方法
Dec 10 Vue.js
对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-MySQL教程归纳总结
2008/06/07 PHP
PHP下SSL加密解密、验证、签名方法(很简单)
2020/06/28 PHP
php blowfish加密解密算法
2016/07/02 PHP
PHP的HTTP客户端Guzzle简单使用方法分析
2019/10/30 PHP
js form action动态修改方法
2008/11/04 Javascript
关于JavaScript定义类和对象的几种方式
2010/11/09 Javascript
一次失败的jQuery优化尝试小结
2011/02/06 Javascript
Jquery Uploadify多文件上传带进度条且传递自己的参数
2013/08/28 Javascript
28个常用JavaScript方法集锦
2015/01/14 Javascript
js实现仿爱微网两级导航菜单效果代码
2015/08/31 Javascript
浅谈Javascript中substr和substring的区别
2015/09/30 Javascript
使用contextMenu插件实现Bootstrap table弹出右键菜单
2017/02/20 Javascript
Vue组件开发技巧总结
2018/03/04 Javascript
在微信小程序中渲染HTML内容的方法示例
2018/09/28 Javascript
微信小程序冒泡事件及其阻止方法实例分析
2018/12/06 Javascript
详解jquery和vue对比
2019/04/16 jQuery
Vue-CLI项目中路由传参的方式详解
2019/09/01 Javascript
从零学python系列之新版本导入httplib模块报ImportError解决方案
2014/05/23 Python
Python的Flask框架中实现分页功能的教程
2015/04/20 Python
Python判断值是否在list或set中的性能对比分析
2016/04/16 Python
详解Python中的from..import绝对导入语句
2016/06/21 Python
TensorFlow安装及jupyter notebook配置方法
2017/09/08 Python
python 叠加等边三角形的绘制的实现
2019/08/14 Python
python 实现性别识别
2020/11/21 Python
Django celery异步任务实现代码示例
2020/11/26 Python
FirstCry阿联酋儿童和婴儿产品网上购物:FirstCry.ae
2021/02/22 全球购物
如何估计一张表的大小(假设该表中有1万条数据)
2016/03/27 面试题
创业计划书——互联网商机
2014/01/12 职场文书
回门宴父母答谢词
2014/01/26 职场文书
建设幸福中国演讲稿
2014/09/11 职场文书
医院领导班子查摆问题对照检查材料思想汇报
2014/10/08 职场文书
2015年教学工作总结
2015/04/02 职场文书
肖申克的救赎观后感
2015/06/02 职场文书
2016春季小学开学寄语
2015/12/03 职场文书
聊聊redis-dump工具安装问题
2022/01/18 Redis
Python first-order-model实现让照片动起来
2022/06/25 Python