Не удается получить выбранные записи в сетке - PullRequest
0 голосов
/ 31 марта 2020

Я использую Ext JS 7.1 и создал панель сетки. Я не могу получить выбранную строку, используя код Ext.getCmp ("tempGrid"). GetSelectionModel (). GetSelection (), эта строка кода всегда возвращает длину 0.

Ext.getCmp (" tempGrid "). getSelectionModel (). hasSelection (), эта строка кода всегда возвращает false.

Я не уверен, что пошло не так, хотел бы получить совет или предложение. Спасибо

У меня есть панель вкладок в качестве главной панели (mainPanel), затем я прикрепил / связал другую панель (называемую tempGrid) Внутри tempGrid я поставлю сетку, вот конфигурация сетки

items: {
  xtype: 'gridpanel',
  id: 'tempGrid',
  header: false,
  forceFit: true,
  store: 'AStore',
  columns: [{
      xtype: 'gridcolumn',
      dataIndex: 'colA',
      text: 'A Column',
      filter: {
        type: 'string'
      }
    },
    {
      xtype: 'gridcolumn',
      dataIndex: 'colB',
      text: 'B Column',
      filter: {
        type: 'string'
      }
    }
  ],
  plugins: [{
    xtype: gridfilters ''
  }],
  dockedItems: [{
    xtype: 'pagingtoolbar',
    dock: 'bottom',
    displayInfo: true,
    inputItemWidth: 80,
    store: 'AStore'
  }]
}

Ответы [ 3 ]

0 голосов
/ 01 апреля 2020

Ваша сетка из вашего примера конфигурации сетки имеет идентификатор APanel. Вы должны позвонить

Ext.getCmp("APanel").getSelectionModel().getSelection()

, чтобы получить выбранные записи. Я думаю tempGrid это какая-то другая твоя сетка

0 голосов
/ 01 апреля 2020

Ваша функция должна быть такой

var myGrid = this.getView();
var sl = myGrid.getSelectionModel().getSelection();
var items = new Array();
if (sl.length) {
  for (var i = 0; i < sl.length; i++) {
    items[i] = sl[i].get('recordId');
  }
}
return items;

И вы не должны быть xtype: 'grid', как этот xtype: 'gridcolumn', пожалуйста, проверьте это также. Спасибо

Надеюсь, что эта помощь

0 голосов
/ 31 марта 2020

я получил решение своей проблемы, надеюсь, это поможет другим

var grid = Ext.getCmp('CenterGrid');
var selection= CenterGrid.getSelectionModel();

for(var i=0;i < grid.store.getCount();i++){
if(selection.isSelected(i)){
//these array assing to finalarray send to php below
c.push(
grid.store.getAt(i).data.Parameter_Name+ "||",
grid.store.getAt(i).data.Value + "||",
grid.store.getAt(i).data.Value2 + "||",
grid.store.getAt(i).data.Value3 + "||"

);
}
}
console.log("new:"+c);
...