1. #121
    Ext User
    Join Date
    Oct 2008
    Posts
    2
    Vote Rating
    0
    digiprosoft is on a distinguished road

      0  

    Default


    I fixed that scroll for the left column:

    http://demoserver.digiprosoft.com/ex...olumn.html.php

    Header resizing still in progress. Please tell me any other bugs.

  2. #122
    Ext User
    Join Date
    Jul 2008
    Posts
    8
    Vote Rating
    0
    Nagiy is on a distinguished road

      0  

    Default


    Quote Originally Posted by digiprosoft View Post
    I fixed that scroll for the left column:

    http://demoserver.digiprosoft.com/ex...olumn.html.php

    Header resizing still in progress. Please tell me any other bugs.
    digiprosoft, your demo does not work on IE !

  3. #123
    Ext User
    Join Date
    Jul 2008
    Posts
    8
    Vote Rating
    0
    Nagiy is on a distinguished road

      0  

    Default


    Quote Originally Posted by Nagiy View Post
    I tried adding this line to columnLock.js
    afterRender : function() { },
    It seems to fix the 2.2 issue !
    Has anyone tried this code to fix the 2.2 issue?

  4. #124
    Ext User
    Join Date
    May 2007
    Posts
    181
    Vote Rating
    1
    akannu is on a distinguished road

      0  

    Default Sorting is not working

    Sorting is not working


    Sorting is not working right on the demo you provided. Clicking on any column sorder only sorts the 'company' column in the non-frozen grid.

  5. #125
    Sencha User
    Join Date
    Jan 2008
    Posts
    4
    Vote Rating
    0
    sureshraja.crt is on a distinguished road

      0  

    Default


    Quote Originally Posted by tmaung View Post
    I have found an error in the grid when the column sizes are very large. The total size the column can handle is 10000 (lock column widths + reg column widths). I have attached a jsp file but it can easily be changed for any other languages. i am just using a for loop to create the extra columns. Change the value from 64 to 63 and you will see that the last column header "Last Updated" shows up. But it does not show up with the value being 64. The data grid shows up however.

    The math: 63*150 + 500 = 9950 (works fine)
    The flipside: 64*150 + 500 = 10100 (does not work)

    I have tried changing the width of the grid and it doesn't work. I will dissect the code a little and figure out where this value lies. In the meantime, if anyone has found the solution please let me know. Thanks in advance.
    any one help me how to implement column lock in dynamic grid

  6. #126
    Ext User
    Join Date
    Oct 2008
    Posts
    4
    Vote Rating
    0
    redzedi is on a distinguished road

      0  

    Default Problem with LockingColumnModel

    Problem with LockingColumnModel


    Hi All,
    I am using LockingGridPanel.js along with LockingColumnModel for my project . Here are some issues I am facing :-

    1. Ext.Grid.ColumnModel has a config parameter called "css" which as per the documentation accepts a css class name which is to be applied to all the data cells . But when i use this config parameter while creating an object of LockingColumnModel , it does not work at all as mentioned in API doc is this a bug for this extended class ??.

    2.Is there a way to customize the mouse highlight colour for rows ??

    Thanking all in anticipation.

  7. #127
    Ext User
    Join Date
    May 2007
    Posts
    181
    Vote Rating
    1
    akannu is on a distinguished road

      0  

    Default 2 versions?

    2 versions?


    It looks like this thread was started for MeDavid's user extension for column locking.

    Then I see digiprosoft suggesting his own implementation from scratch.

    I think it is confusing as people are reporting issues...which one is being referred to.

  8. #128
    Ext User
    Join Date
    Jul 2008
    Posts
    109
    Vote Rating
    0
    Shmitt is on a distinguished road

      0  

    Default


    Is it possible to make that LockColumn plugin to work with groupSummary plugin ?!

    Any examples will be great!

    Thx in advance!

  9. #129
    Ext User
    Join Date
    Jan 2008
    Posts
    16
    Vote Rating
    0
    surgi is on a distinguished road

      0  

    Default


    Hello, I'm reffering to MeDavid's user extension for column locking (Ext.grid.LockingGridPanel and Ext.grid.LockingColumnModel).

    I'm trying to get it working together with GroupHeaderPlugin ( http://extjs.com/forum/showthread.php?t=22337 ), using ExtJS 2.1 at the moment.

    I can get each of the thingies working, but using both of them together I had no luck so far, I've also searched thru these forums, found noone addressing this issue.

    My guess is that locking grid extension will need a lil tweaking in order to work with group headers (basic set up leads to
    Code:
    Error: this.lockedInnerHd.firstChild.firstChild.style has no properties - Line: 293, file columnLock.js
    ). I've tried some tweaking myself (basically avoiding displayed errors, but it didnt work (result - nonsenses in headers)).

    Can anyone please point me to the right direction? At the moment I have no clear idea what feature and where is missing in order to make locked columns work together with group headers.

    Thanks in advance..

    (Attached test-case-upd.zip contains example case of issue I'm reffering to. Should be placed at /ext-2.1/examples/any-directory/)

    EDIT: As I've tried to look deeper into codes of both the plugin and the extension, I should point out that I don't need to have any group headers merging locked and unlocked columns (in another case it would complicate the solution badly due to the style lockingGrid is realized, I guess).
    Attached Files

  10. #130
    Sencha - Community Support Team Condor's Avatar
    Join Date
    Mar 2007
    Location
    The Netherlands
    Posts
    24,246
    Vote Rating
    91
    Condor has much to be proud of Condor has much to be proud of Condor has much to be proud of Condor has much to be proud of Condor has much to be proud of Condor has much to be proud of Condor has much to be proud of Condor has much to be proud of

      0  

    Default


    While trying to help surgi with his GroupHeaderPlugin problem I found several problems with the current LockingGridView:

    1. updateAllColumnWidths and updateColumnWidth call onAllColumnWidthsUpdated and onColumnWidthUpdated with the wrong column number for non-fixed columns.
    2. Row rendering needs to be moved from renderUI to afterRender (for Ext 2.2 compatibility).
    3. Row headers get out of sync when changing column width in quirks mode, because borders are included in the width.

    Here is the fix:
    Code:
    Ext.override(Ext.grid.LockingGridView, {
    	renderUI : function(){
    		var header = this.renderHeaders();
    		var body = this.templates.body.apply({rows:''});
    		var html = this.templates.master.apply({
    			body: body,
    			header: header[0],
    			lockedBody: body,
    			lockedHeader: header[1]
    		});
    		var g = this.grid;
    		g.getGridEl().dom.innerHTML = html;
    		this.initElements();
    		Ext.fly(this.innerHd).on("click", this.handleHdDown, this);
    		Ext.fly(this.lockedInnerHd).on("click", this.handleHdDown, this);
    		this.mainHd.on("mouseover", this.handleHdOver, this);
    		this.mainHd.on("mouseout", this.handleHdOut, this);
    		this.mainHd.on("mousemove", this.handleHdMove, this);
    		this.lockedHd.on("mouseover", this.handleHdOver, this);
    		this.lockedHd.on("mouseout", this.handleHdOut, this);
    		this.lockedHd.on("mousemove", this.handleHdMove, this);
    		this.mainWrap.dom.style.left= this.cm.getTotalLockedWidth() + 'px';
    		this.scroller.on('scroll', this.syncScroll,  this);
    		if(g.enableColumnResize !== false){
    			this.splitone = new Ext.grid.GridView.SplitDragZone(g, this.lockedHd.dom);
    			this.splitone.setOuterHandleElId(Ext.id(this.lockedHd.dom));
    			this.splitone.setOuterHandleElId(Ext.id(this.mainHd.dom));
    		}
    		if(g.enableColumnMove){
    			this.columnDrag = new Ext.grid.GridView.ColumnDragZone(g, this.innerHd);
    			this.columnDrop = new Ext.grid.HeaderDropZone(g, this.mainHd.dom);
    		}
    		if(g.enableHdMenu !== false){
    			if(g.enableColumnHide !== false){
    				this.colMenu = new Ext.menu.Menu({id:g.id + "-hcols-menu"});
    				this.colMenu.on("beforeshow", this.beforeColMenuShow, this);
    				this.colMenu.on("itemclick", this.handleHdMenuClick, this);
    			}
    			this.hmenu = new Ext.menu.Menu({id: g.id + "-hctx"});
    			this.hmenu.add(
    				{id:"asc", text: this.sortAscText, cls: "xg-hmenu-sort-asc"},
    				{id:"desc", text: this.sortDescText, cls: "xg-hmenu-sort-desc"}
    			);
    			if(this.grid.enableColLock !== false){
    				this.hmenu.add('-',
    					{id:"lock", text: this.lockText, cls: "xg-hmenu-lock"},
    					{id:"unlock", text: this.unlockText, cls: "xg-hmenu-unlock"}
    				);
    			}
    			if(g.enableColumnHide !== false){
    				this.hmenu.add('-',
    					{id:"columns", text: this.columnsText, menu: this.colMenu, iconCls: 'x-cols-icon'}
    				);
    			}
    			this.hmenu.on("itemclick", this.handleHdMenuClick, this);
    		}
    		if(g.enableDragDrop || g.enableDrag){
    			var dd = new Ext.grid.GridDragZone(g, {
    				ddGroup : g.ddGroup || 'GridDD'
    			});
    		}
    		this.updateHeaderSortState();
    	},
    	afterRender : function(){
    		var bd = this.renderRows();
    		if (bd == '') bd = ['', ''];
    		this.mainBody.dom.innerHTML = bd[0];
    		this.lockedBody.dom.innerHTML = bd[1];
    		this.processRows(0, true);
    		if(this.deferEmptyText !== true){
    			this.applyEmptyText();
    		}
    	},
    	updateAllColumnWidths : function(){
    		var tw = this.cm.getTotalWidth();
    		var lw = this.cm.getTotalLockedWidth();
    		var clen = this.cm.getColumnCount();
    		var lclen = this.cm.getLockedCount();
    		var ws = [];
    		for(var i = 0; i < clen; i++){
    			ws[i] = this.getColumnWidth(i);
    		}
    		this.innerHd.firstChild.firstChild.style.width = (tw - lw) + 'px';
    		this.mainWrap.dom.style.left = lw + 'px';
    		this.lockedInnerHd.firstChild.firstChild.style.width = lw + 'px';
    		for(var i = 0; i < clen; i++){
    			var hd = this.getHeaderCell(i);
    			hd.style.width = ws[i] + 'px';
    		}
    		var ns = this.getRows();
    		var lns = this.getLockedRows();
    		for(var i = 0, len = ns.length; i < len; i++){
    			ns[i].style.width =(tw - lw) + 'px';
    			ns[i].firstChild.style.width = (tw-lw) + 'px';
    			lns[i].style.width = lw + 'px';
    			lns[i].firstChild.style.width = lw + 'px';
    			for(var j = 0; j < lclen; j++){
    				var row = lns[i].firstChild.rows[0];
    				row.childNodes[j].style.width = ws[j] + 'px';
    			}
    			for(var j = lclen; j < clen; j++){
    				var row = ns[i].firstChild.rows[0];
    				row.childNodes[j].style.width = ws[j] + 'px';
    			}
    		}
    		this.onAllColumnWidthsUpdated(ws, tw);
    	},
    	updateColumnWidth : function(col, width){
    		var w = this.getColumnWidth(col);
    		var tw = this.cm.getTotalWidth();
    		var lclen = this.cm.getLockedCount();
    		var lw = this.cm.getTotalLockedWidth();
    		var hd = this.getHeaderCell(col);
    		hd.style.width = w;
    		var ns, gw;
    		var ncol = col;
    		if(col < lclen) {
    			ns = this.getLockedRows();
    			gw = lw;
    			this.lockedInnerHd.firstChild.firstChild.style.width = gw + 'px';
    			this.mainWrap.dom.style.left= this.cm.getTotalLockedWidth() + 'px';
    			this.mainWrap.dom.style.display='none';
    			this.mainWrap.dom.style.display='';
    		}else {
    			ns = this.getRows();
    			gw = tw - lw;
    			ncol -= lclen;
    			this.innerHd.firstChild.firstChild.style.width = gw + 'px';
    		}
    		for(var i = 0, len = ns.length; i < len; i++){
    			ns[i].style.width = gw + 'px';
    			ns[i].firstChild.style.width = gw + 'px';
    			ns[i].firstChild.rows[0].childNodes[ncol].style.width = w;
    		}
    		this.onColumnWidthUpdated(col, w, tw);
    		this.layout();
    	}
    });

Thread Participants: 138

  1. galdaka (2 Posts)
  2. Condor (47 Posts)
  3. mapo (1 Post)
  4. seno (1 Post)
  5. rmesser (2 Posts)
  6. mystix (5 Posts)
  7. fangzhouxing (1 Post)
  8. rarerules (6 Posts)
  9. Kalum78 (2 Posts)
  10. Fabyo (2 Posts)
  11. akannu (4 Posts)
  12. badgerd (1 Post)
  13. hanganum (1 Post)
  14. jlhs5 (3 Posts)
  15. zaunaf (1 Post)
  16. mjlecomte (1 Post)
  17. border9 (3 Posts)
  18. matt.hall (1 Post)
  19. justinfalk (1 Post)
  20. Air_Mike (1 Post)
  21. mbalusu (1 Post)
  22. wm003 (2 Posts)
  23. Plater (1 Post)
  24. ssmso (3 Posts)
  25. jitu (1 Post)
  26. durlabh (2 Posts)
  27. crpatrick (2 Posts)
  28. timezz (2 Posts)
  29. jfkelley (2 Posts)
  30. mankz (6 Posts)
  31. xbohdpukc (1 Post)
  32. orangehairedboy (1 Post)
  33. mbahl (2 Posts)
  34. cblin (3 Posts)
  35. vertigoMX (1 Post)
  36. bernd01 (1 Post)
  37. sanjshah (1 Post)
  38. tahlon (1 Post)
  39. nanich (3 Posts)
  40. tonedeaf (1 Post)
  41. gaspard (1 Post)
  42. ghutchens (3 Posts)
  43. wsn24x7 (1 Post)
  44. srikan999 (1 Post)
  45. lesul (2 Posts)
  46. NotChris (3 Posts)
  47. NeonMonk (3 Posts)
  48. surgi (3 Posts)
  49. lickui (2 Posts)
  50. sureshraja.crt (1 Post)
  51. herrjj (1 Post)
  52. minty (2 Posts)
  53. huixjan (2 Posts)
  54. archrajan (1 Post)
  55. milou (1 Post)
  56. bishoco (1 Post)
  57. deltron0 (1 Post)
  58. ravindra.tiwary1 (2 Posts)
  59. slava_k (1 Post)
  60. cjqcjq2008 (1 Post)
  61. srikanthnukala (1 Post)
  62. Kevin.Tan (3 Posts)
  63. xavierg (1 Post)
  64. ygl (1 Post)
  65. varsha.kothari (3 Posts)
  66. tinnt (6 Posts)
  67. sdileep (1 Post)
  68. rule3 (3 Posts)
  69. RobinOuyang (1 Post)
  70. lokiofragnar (1 Post)
  71. imran (1 Post)
  72. sachin_248 (1 Post)
  73. mogen9999 (2 Posts)
  74. faraway (1 Post)
  75. sircyaj (1 Post)
  76. tmaung (1 Post)
  77. wwwtd (1 Post)
  78. jamiro (1 Post)
  79. Frankatron (3 Posts)
  80. peacock (1 Post)
  81. NicoP (2 Posts)
  82. Raz_ (3 Posts)
  83. jchau (6 Posts)
  84. sanjaykanteti (1 Post)
  85. JSRobbie (1 Post)
  86. alvin (1 Post)
  87. Shmitt (1 Post)
  88. Nagiy (4 Posts)
  89. cooluser7 (1 Post)
  90. Angelina (1 Post)
  91. greeeg (2 Posts)
  92. hoanganhinfo (1 Post)
  93. duverma (1 Post)
  94. hawks2001 (1 Post)
  95. LoekieBoy (3 Posts)
  96. Bogdan Juszczak (1 Post)
  97. eversound (1 Post)
  98. priyanka_iknip (1 Post)
  99. xiespirit (1 Post)
  100. mmboy (1 Post)
  101. SMIRZA (1 Post)
  102. fmanrique (2 Posts)
  103. redzedi (1 Post)
  104. sham123456 (1 Post)
  105. digiprosoft (2 Posts)
  106. krmlmnstr (1 Post)
  107. abotero (1 Post)
  108. tomlobato (2 Posts)
  109. sramanna (2 Posts)
  110. kastanis (5 Posts)
  111. pingTeam (1 Post)
  112. cmschick (2 Posts)
  113. liulei (3 Posts)
  114. Xander75 (2 Posts)
  115. hhanna (2 Posts)
  116. hahacow (1 Post)
  117. janapol (1 Post)
  118. roderick.wu (5 Posts)
  119. saadus (1 Post)
  120. yingwuhahaha (2 Posts)
  121. liuzxtest (2 Posts)
  122. hzwei (5 Posts)
  123. azaqero (3 Posts)
  124. PCalvinClark (1 Post)
  125. arifali (1 Post)
  126. navdimri (2 Posts)
  127. dewoob (2 Posts)
  128. avia4us (1 Post)
  129. DirkWei (1 Post)
  130. setzor (1 Post)
  131. ancorgs (2 Posts)
  132. Sergii (1 Post)
  133. Kranthi1981 (1 Post)
  134. Patrick86 (1 Post)
  135. kamal.addicted (1 Post)
  136. chpsrinu (1 Post)
  137. brian.moeskau (2 Posts)
  138. priyapratheep (1 Post)