X-Git-Url: http://git.ithinksw.org/extjs.git/blobdiff_plain/ee06f37b0f6f6d94cd05a6ffae556660f7c4a2bc..c930e9176a5a85509c5b0230e2bff5c22a591432:/examples/grid/buffer.js?ds=sidebyside diff --git a/examples/grid/buffer.js b/examples/grid/buffer.js new file mode 100644 index 00000000..6f094f75 --- /dev/null +++ b/examples/grid/buffer.js @@ -0,0 +1,89 @@ +/*! + * Ext JS Library 3.0.0 + * Copyright(c) 2006-2009 Ext JS, LLC + * licensing@extjs.com + * http://www.extjs.com/license + */ +Ext.onReady(function(){ + + var store = new Ext.data.Store({ + remoteSort: true, + baseParams: {lightWeight:true,ext: 'js'}, + sortInfo: {field:'lastpost', direction:'DESC'}, + autoLoad: {params:{start:0, limit:500}}, + + proxy: new Ext.data.ScriptTagProxy({ + url: 'http://extjs.com/forum/topics-browse-remote.php' + }), + + reader: new Ext.data.JsonReader({ + root: 'topics', + totalProperty: 'totalCount', + idProperty: 'threadid', + fields: [ + 'title', 'forumtitle', 'forumid', 'author', + {name: 'replycount', type: 'int'}, + {name: 'lastpost', mapping: 'lastpost', type: 'date', dateFormat: 'timestamp'}, + 'lastposter', 'excerpt' + ] + }) + }); + + var grid = new Ext.grid.GridPanel({ + renderTo: 'topic-grid', + width:700, + height:500, + frame:true, + title:'ExtJS.com - Browse Forums', + trackMouseOver:false, + autoExpandColumn: 'topic', + store: store, + + columns: [new Ext.grid.RowNumberer({width: 30}),{ + id: 'topic', + header: "Topic", + dataIndex: 'title', + width: 420, + renderer: renderTopic, + sortable:true + },{ + header: "Replies", + dataIndex: 'replycount', + width: 70, + align: 'right', + sortable:true + },{ + id: 'last', + header: "Last Post", + dataIndex: 'lastpost', + width: 150, + renderer: renderLast, + sortable:true + }], + + bbar: new Ext.PagingToolbar({ + store: store, + pageSize:500, + displayInfo:true + }), + + view: new Ext.ux.grid.BufferView({ + // custom row height + rowHeight: 34, + // render rows as they come into viewable area. + scrollDelay: false + }) + }); + + + // render functions + function renderTopic(value, p, record){ + return String.format( + '{0}{1} Forum', + value, record.data.forumtitle, record.id, record.data.forumid); + } + function renderLast(value, p, r){ + return String.format('{0}
by {1}', value.dateFormat('M j, Y, g:i a'), r.data['lastposter']); + } + +});