对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第一课
Feb 27 Javascript
jquery入门—编写一个导航条(可伸缩)
Jan 07 Javascript
js 固定悬浮效果实现思路代码
Aug 02 Javascript
javascript中Number的方法小结
Nov 21 Javascript
jQuery输入框密码的显示隐藏【代码分享】
Apr 29 jQuery
第一次记录Bootstrap table学习笔记(1)
May 18 Javascript
Angular 5.0 来了! 有这些大变化
Nov 15 Javascript
layui-table表复选框勾选的所有行数据获取的例子
Sep 13 Javascript
vue.js中ref及$refs的使用方法解析
Oct 08 Javascript
解决Idea、WebStorm下使用Vue cli脚手架项目无法使用Webpack别名的问题
Oct 11 Javascript
Vue按时间段查询数据组件使用详解
Aug 21 Javascript
解析原生JS getComputedStyle
May 25 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的QRcode类与大家分享
2011/11/13 PHP
php计算几分钟前、几小时前、几天前的几个函数、类分享
2014/04/09 PHP
PHP实现对xml的增删改查操作案例分析
2017/05/19 PHP
php实现的生成迷宫与迷宫寻址算法完整实例
2017/11/06 PHP
使用js检测浏览器的实现代码
2013/05/14 Javascript
jquery滚动组件(vticker.js)实现页面动态数据的滚动效果
2013/07/03 Javascript
Extjs3.0 checkboxGroup 动态添加item实现思路
2013/08/14 Javascript
Javascript中Array用法实例分析
2015/06/13 Javascript
EasyUI 结合JS导出Excel文件的实现方法
2016/11/10 Javascript
javascript常用的设计模式
2017/02/09 Javascript
js 获取元素的具体样式信息getcss(实例讲解)
2017/07/05 Javascript
详解react-router4 异步加载路由两种方法
2017/09/12 Javascript
tangram.js库实现js类的方式实例分析
2018/01/06 Javascript
nuxt框架中路由鉴权之Koa和Session的用法
2018/05/09 Javascript
手把手教你 CKEDITOR 4 扩展插件制作
2019/06/18 Javascript
微信小程序 高德地图路线规划实现过程详解
2019/08/05 Javascript
微信小程序webview组件交互,内联h5页面并网页实现微信支付实现解析
2019/08/16 Javascript
解决Layui数据表格显示无数据提示的问题
2019/11/14 Javascript
Vue 的双向绑定原理与用法揭秘
2020/05/06 Javascript
简单了解JavaScript作用域
2020/07/31 Javascript
[02:44]DOTA2英雄基础教程 克林克兹
2014/01/15 DOTA
python操作MongoDB基础知识
2013/11/01 Python
python标准日志模块logging的使用方法
2013/11/01 Python
python实现文本进度条 程序进度条 加载进度条 单行刷新功能
2019/07/03 Python
python使用matplotlib绘制雷达图
2019/10/18 Python
python输出pdf文档的实例
2020/02/13 Python
Python如何实现在字符串里嵌入双引号或者单引号
2020/03/02 Python
django inspectdb 操作已有数据库数据的使用步骤
2021/02/07 Python
详解CSS 3 中的 calc() 方法
2018/01/12 HTML / CSS
使用phonegap进行提示操作的具体方法
2017/03/30 HTML / CSS
C#中有没有运算符重载?能否使用指针?
2014/05/05 面试题
事业单位辞职信范文
2014/01/19 职场文书
初中英语教学反思
2014/01/25 职场文书
机械设计毕业生自荐信
2014/02/02 职场文书
公司离职证明范本
2014/10/17 职场文书
Python+腾讯云服务器实现每日自动健康打卡
2021/12/06 Python