2014-11-06 9 views
0

У меня проблема в моей недавно реализованной сетке ралли.Проблема с перетаскиванием в ралли-сетке

_CreatePSIObjectiveGrid: function(myStore) { 
    if (!this.objGrid) { 
     var colCfgs = [{ 
      text: 'ID', 
      dataIndex: 'DragAndDropRank', 
      width: 50 
     }, { 
      text: 'Summary', 
      dataIndex: 'Name', 
      flex: 1 
     }, { 
      text: 'Success Rate', 
      dataIndex: 'c_SuccessRate', 
      width: 200 
     }]; 

     if (!this.getSetting("useSuccessRatioOnly")) { 
      colCfgs.push({ 
       text: 'Initial Business Value', 
       dataIndex: 'PlanEstimate', 
       width: 200 
      }); 

      colCfgs.push({ 
       text: 'Final Business Value', 
       dataIndex: 'c_FinalValue', 
       width: 200 
      }); 
     } 

     this.objGrid = Ext.create('Rally.ui.grid.Grid', { 
      store : myStore, 
      enableRanking: true, 
      defaultSortToRank: true, 
      height: 550, 
      overflowY: 'auto', 
      margin: 10, 
      showPagingToolbar: false, 
      columnCfgs : colCfgs 
     }); 

     Ext.getCmp('c-panel-obj-crud-table').add(this.objGrid); 
    } 
} 

Хотя я поставил «enableRanking» к «истинным», рейтинг перетаскивание не работает, если я добавляю мою сетку к компоненту. Тем не менее, функция перетаскивания делает работу отлично, если я изменю последнее заявление от

Ext.getCmp('c-panel-obj-crud-table').add(this.objGrid); 

в

this.add(this.objGrid); 

Я не знаю, если это ошибка ралли. Попробуйте сравнить окончательный файл html, не найденный ключ.

ответ

0

this few sec video shows что ниже код, где rankable сетки добавляется к дочернему панели, а не непосредственно к this (this указывает на глобальную область действия приложения) по-прежнему сохраняет свою способность rerank:

Ext.define('CustomApp', { 
    extend: 'Rally.app.App', 
    componentCls: 'app', 
    launch: function() { 
     var panel = Ext.create('Ext.panel.Panel', { 
      layout: 'hbox', 
      itemId: 'parentPanel', 
      componentCls: 'panel', 
      items: [ 
       { 
       xtype: 'panel', 
       title: 'Panel 1', 
       width: 600, 
       itemId: 'childPanel1' 
       }, 
       { 
       xtype: 'panel', 
       title: 'Panel 2', 
       width: 600, 
       itemId: 'childPanel2' 
       } 
      ], 
     }); 
     this.add(panel); 
     this.down('#childPanel1').add({ 
      xtype: 'rallygrid', 
      columnCfgs: [ 
       'FormattedID', 
       'Name', 
       'ScheduleState', 
       'Owner' 
      ], 
      context: this.getContext(), 
      enableRanking: true, 
      defaultSortToRank: true, 
      storeConfig: { 
       model: 'userstory' 
      } 
     }); 
    } 
}); 
+0

Если пример работает, это может быть проблемой для панели с вкладками. В моем случае у меня есть панель с вкладками, а затем панель внутри. Я хочу добавить ранжированную сетку в дочернюю панель внутри панели с вкладками. Я также провел некоторое дальнейшее расследование по этому вопросу. Кажется, операция перетаскивания действительно работает. Однако зона выпадения недействительна. –