中文教程

ExtJs + .NET MVC 不分页处理大数据

刷微博已经成为大家的一种生活方式,我今天要介绍的功能就很类似刷微博。

当我们需要将大数据(比如百万条数据)显示在页面上的时候,显然一次加载是不现实的,用户体验很差。当然,你可能会想到采用分也显示,但是现在的用户已经

厌倦了分页的方式,他们更喜欢刷微博的方式。

于是就出现了这篇文章。

笔者近期的项目中,采用的前端框架是ExtJs,其提供的GridPanel足以应付一次性加载500+以上的记录,只是会让用户等待一会。

但是日志的显示没那么简单,其数据一直在增加,用户也不想分页查看,而是用传统的GridPanel也不太适合。

Google之后,原来ExtJs已经提供了一个插件(Ext.ux.grid.livegrid),强大的Extjs啊!

据说ExtJs 4 提供了一个更加好用的插件来替代这个插件,由于时间关系,笔者仅仅使用了ext 2.2 和 ext 3.3.1两个版本的,效果还不错,

惯例先上图

ExtJS 无法解码带有换行符的字符串

我们上次偶然发现了一个问题,我们在一个庞大的项目中,然后按照 spring web flow 走下去,最后一步提交,提交成功,但是回到某个页面上的时候,总是报错,说某个变量 比如var projectInfo,这个变量为null。

后来我们仔细看了下代码,原来是因为这个页面上有个字段是textarea,然后它会支持多行输入,多行也就是\n,然后在extjs看来,它无法对于一个包含\n的字符串进行decode,所以decode的结果就是null

我们实验如下:

(1)Ext.decode一个包含\n的字符串:

这里可以看出decode会失败。

ExtJS 常用代码片段

笔者工作中用到的功能,以及一些小功能,贴出来跟大家分享。

1、grid加载时候选择一行或全选:

为stroe添加load事件,调用sm的selectAll方法

store.on("load",function(store) {sm.selectAll();});

选择一行或多行和以调用selectRow、selectRows或selectRecords等方法,在api中有详细介绍。

2、Extjs 中调用Ajax

NodeJS 和 ExtJS

最近在看一些extjs和nodejs的东西,就试着将其结合着使用下。

1.新建express项目

首先我们新建一个express的项目,可以参照Web Development With Express

express -e extjs-demo
cd extjs-demo
sudo npm install

Visual Studio 中使用 ExtJs

一、要想运行extjs,首先要对extjs的样式及库文件进行配置,库文件及样式下载地址:
http://extjs.org.cn/download/

二、在VS(本人使用的是Microsoft Visual Studio 2010)中创建空白网页后,之后再添加库文件和样式文件。
先创建基本网站项目。

聚合内容