Extjs 5:需要将滚动(水平)位置移动到网格中的特定位置(到特定列)
Extjs 5 : need to move the scroll (horizantal) position to the particular position(to particullar column) in grid
我正在尝试在网格中实现功能,当我们单击按钮(向左、向右、倒带、向前)时,我们需要将滚动(水平)位置移动到特定位置,就像我们需要移动位置一样scroll.I 能够实现除左侧导航之外的所有功能。有什么想法吗?
我不知道如何获得水平滚动位置或列位置,因此我从 column.getPosition() (它 returns [x, y] 位置)计算它。
Ext.create('Ext.Button', {
text : 'right',
renderTo : Ext.getBody(),
listeners: {
click: function() {
var grid = Ext.getCmp('grid1');
var columns = grid.getColumnManager().getColumns();
var index = getCurrentColumn(columns, true);
var p = columns[index+1].getPosition();
grid.scrollByDeltaX(p[0]);
}
}
});
function getCurrentColumn(columns, isMovingRight)
{
var index = 0;
for (var i=0; i<columns.length; i++){
// columns[i].getPosition() returns [x, y]
if (columns[i].getPosition()[0] == 0){
index = i;
break;
}
if (columns[i].getPosition()[0] > 0){
if (isMovingRight){
index = i-1;
}
else{
index = i;
}
break;
}
}
return index;
}
/* function for click forward button */
function getNextPageColumn(columns, gridWidth)
{
var index = -1;
for (var i=0; i<columns.length; i++){
if (columns[i].getPosition()[0] >= gridWidth){
index = i;
break;
}
}
return index;
}
以编程方式滚动网格的示例
https://fiddle.sencha.com/#fiddle/1bkm
我正在尝试在网格中实现功能,当我们单击按钮(向左、向右、倒带、向前)时,我们需要将滚动(水平)位置移动到特定位置,就像我们需要移动位置一样scroll.I 能够实现除左侧导航之外的所有功能。有什么想法吗?
我不知道如何获得水平滚动位置或列位置,因此我从 column.getPosition() (它 returns [x, y] 位置)计算它。
Ext.create('Ext.Button', {
text : 'right',
renderTo : Ext.getBody(),
listeners: {
click: function() {
var grid = Ext.getCmp('grid1');
var columns = grid.getColumnManager().getColumns();
var index = getCurrentColumn(columns, true);
var p = columns[index+1].getPosition();
grid.scrollByDeltaX(p[0]);
}
}
});
function getCurrentColumn(columns, isMovingRight)
{
var index = 0;
for (var i=0; i<columns.length; i++){
// columns[i].getPosition() returns [x, y]
if (columns[i].getPosition()[0] == 0){
index = i;
break;
}
if (columns[i].getPosition()[0] > 0){
if (isMovingRight){
index = i-1;
}
else{
index = i;
}
break;
}
}
return index;
}
/* function for click forward button */
function getNextPageColumn(columns, gridWidth)
{
var index = -1;
for (var i=0; i<columns.length; i++){
if (columns[i].getPosition()[0] >= gridWidth){
index = i;
break;
}
}
return index;
}
以编程方式滚动网格的示例 https://fiddle.sencha.com/#fiddle/1bkm