Column.js 2.5 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253
  1. Ext.define('uas.override.grid.column.Column', {
  2. override: 'Ext.grid.column.Column',
  3. initComponent: function() {
  4. var me = this;
  5. // Preserve the scope to resolve a custom renderer.
  6. // Subclasses (TreeColumn) may insist on scope being this.
  7. if (!me.rendererScope) {
  8. me.rendererScope = me.scope;
  9. }
  10. if (me.header != null) {
  11. me.text = me.header;
  12. me.header = null;
  13. }
  14. if (me.cellWrap) {
  15. me.tdCls = (me.tdCls || '') + ' ' + Ext.baseCSSPrefix + 'wrap-cell';
  16. }
  17. // A group header; It contains items which are themselves Headers
  18. if (me.columns != null) {
  19. me.isGroupHeader = true;
  20. me.ariaRole = 'presentation';
  21. if (me.dataIndex) {
  22. Ext.raise('Ext.grid.column.Column: Group header may not accept a dataIndex');
  23. }
  24. if ((me.width && me.width !== Ext.grid.header.Container.prototype.defaultWidth)) {
  25. Ext.raise('Ext.grid.column.Column: Group header does not support setting explicit widths. A group header either shrinkwraps its children, or must be flexed.');
  26. }
  27. // The headers become child items
  28. me.items = me.columns;
  29. me.columns = null;
  30. me.cls = (me.cls || '') + ' ' + me.groupHeaderCls;
  31. // A group cannot be sorted, or resized - it shrinkwraps its children
  32. me.sortable = me.resizable = false;
  33. me.align = 'center';
  34. } else {
  35. // Flexed Headers need to have a minWidth defined so that they can never be squeezed out of existence by the
  36. // HeaderContainer's specialized Box layout, the ColumnLayout. The ColumnLayout's overridden calculateChildboxes
  37. // method extends the available layout space to accommodate the "desiredWidth" of all the columns.
  38. if (me.flex) {
  39. me.minWidth = me.minWidth || Ext.grid.plugin.HeaderResizer.prototype.minColWidth;
  40. }
  41. }
  42. // header始终居中,与body的align无关
  43. me.addCls(Ext.baseCSSPrefix + 'column-header-align-center');
  44. // me.addCls(Ext.baseCSSPrefix + 'column-header-align-' + me.getMappedAlignment(me.align));
  45. // Set up the renderer types: 'renderer', 'editRenderer', and 'summaryRenderer'
  46. me.setupRenderer();
  47. me.setupRenderer('edit');
  48. me.setupRenderer('summary');
  49. // Initialize as a HeaderContainer
  50. me.callParent();
  51. }
  52. });