X-Git-Url: http://git.ithinksw.org/extjs.git/blobdiff_plain/b37ceabb82336ee82757cd32efe353cfab8ec267..f5240829880f87e0cf581c6a296e436fdef0ef80:/src/widgets/grid/GridPanel.js diff --git a/src/widgets/grid/GridPanel.js b/src/widgets/grid/GridPanel.js index 706aa7c8..b9e2f056 100644 --- a/src/widgets/grid/GridPanel.js +++ b/src/widgets/grid/GridPanel.js @@ -1,5 +1,5 @@ /*! - * Ext JS Library 3.2.2 + * Ext JS Library 3.3.0 * Copyright(c) 2006-2010 Ext JS, Inc. * licensing@extjs.com * http://www.extjs.com/license @@ -97,21 +97,25 @@ Ext.grid.GridPanel = Ext.extend(Ext.Panel, { *
See {@link #autoExpandMax} and {@link #autoExpandMin} also.
*/ autoExpandColumn : false, + /** * @cfg {Number} autoExpandMax The maximum width the {@link #autoExpandColumn} * can have (if enabled). Defaults to 1000. */ autoExpandMax : 1000, + /** * @cfg {Number} autoExpandMin The minimum width the {@link #autoExpandColumn} * can have (if enabled). Defaults to 50. */ autoExpandMin : 50, + /** * @cfg {Boolean} columnLines true to add css for column separation lines. * Default is false. */ columnLines : false, + /** * @cfg {Object} cm Shorthand for {@link #colModel}. */ @@ -135,12 +139,14 @@ Ext.grid.GridPanel = Ext.extend(Ext.Panel, { * {0} is replaced with the number of selected rows. */ ddText : '{0} selected row{1}', + /** * @cfg {Boolean} deferRowRenderDefaults to true to enable deferred row rendering.
*This allows the GridPanel to be initially rendered empty, with the expensive update of the row * structure deferred so that layouts with GridPanels appear more quickly.
*/ deferRowRender : true, + /** * @cfg {Boolean} disableSelectiontrue to disable selections in the grid. Defaults to false.
*Ignored if a {@link #selModel SelectionModel} is specified.
@@ -154,11 +160,13 @@ Ext.grid.GridPanel = Ext.extend(Ext.Panel, { * with the {@link #enableHdMenu header menu}. */ enableColumnHide : true, + /** * @cfg {Boolean} enableColumnMove Defaults to true to enable drag and drop reorder of columns. false * to turn off column reordering via drag drop. */ enableColumnMove : true, + /** * @cfg {Boolean} enableDragDropEnables dragging of the selected rows of the GridPanel. Defaults to false.
*Setting this to true causes this GridPanel's {@link #getView GridView} to @@ -171,10 +179,12 @@ Ext.grid.GridPanel = Ext.extend(Ext.Panel, { * to process the {@link Ext.grid.GridDragZone#getDragData data} which is provided.
*/ enableDragDrop : false, + /** * @cfg {Boolean} enableHdMenu Defaults to true to enable the drop down button for menu in the headers. */ enableHdMenu : true, + /** * @cfg {Boolean} hideHeaders True to hide the grid's header. Defaults tofalse
.
*/
@@ -183,6 +193,7 @@ Ext.grid.GridPanel = Ext.extend(Ext.Panel, {
* loading. Defaults to false
.
*/
loadMask : false,
+
/**
* @cfg {Number} maxHeight Sets the maximum height of the grid - ignored if autoHeight is not on.
*/
@@ -190,6 +201,7 @@ Ext.grid.GridPanel = Ext.extend(Ext.Panel, {
* @cfg {Number} minColumnWidth The minimum width a column can be resized to. Defaults to 25.
*/
minColumnWidth : 25,
+
/**
* @cfg {Object} sm Shorthand for {@link #selModel}.
*/
@@ -208,11 +220,13 @@ Ext.grid.GridPanel = Ext.extend(Ext.Panel, {
* modifier, or which uses a CSS selector of higher specificity.
*/
stripeRows : false,
+
/**
* @cfg {Boolean} trackMouseOver True to highlight rows when the mouse is over. Default is true
* for GridPanel, but false for EditorGridPanel.
*/
trackMouseOver : true,
+
/**
* @cfg {Array} stateEvents
* An array of events that, when fired, should trigger this component to save its state.
@@ -225,6 +239,7 @@ Ext.grid.GridPanel = Ext.extend(Ext.Panel, {
* Component state.
*/
stateEvents : ['columnmove', 'columnresize', 'sortchange', 'groupchange'],
+
/**
* @cfg {Object} view The {@link Ext.grid.GridView} used by the grid. This can be set
* before a call to {@link Ext.Component#render render()}.
@@ -247,14 +262,15 @@ Ext.grid.GridPanel = Ext.extend(Ext.Panel, {
// private
rendered : false,
+
// private
viewReady : false,
// private
- initComponent : function(){
+ initComponent : function() {
Ext.grid.GridPanel.superclass.initComponent.call(this);
- if(this.columnLines){
+ if (this.columnLines) {
this.cls = (this.cls || '') + ' x-grid-with-col-lines';
}
// override any provided value since it isn't valid
@@ -656,7 +672,7 @@ function(grid, rowIndex, columnIndex, e) {
s = cs[i];
c = cm.getColumnById(s.id);
if(c){
- cm.setState(i, {
+ cm.setState(s.id, {
hidden: s.hidden,
width: s.width
});
@@ -723,7 +739,7 @@ function(grid, rowIndex, columnIndex, e) {
Ext.grid.GridPanel.superclass.afterRender.call(this);
var v = this.view;
this.on('bodyresize', v.layout, v);
- v.layout();
+ v.layout(true);
if(this.deferRowRender){
if (!this.deferRowRenderTask){
this.deferRowRenderTask = new Ext.util.DelayedTask(v.afterRender, this.view);
@@ -900,10 +916,11 @@ function(grid, rowIndex, columnIndex, e) {
* Returns the grid's GridView object.
* @return {Ext.grid.GridView} The grid view
*/
- getView : function(){
- if(!this.view){
+ getView : function() {
+ if (!this.view) {
this.view = new Ext.grid.GridView(this.viewConfig);
}
+
return this.view;
},
/**