Компонент листа расширения Primefaces при нажатии «Enter» переместит фокус на ячейку справа - PullRequest
3 голосов
/ 21 июня 2019

Операция по умолчанию для handsontable при нажатии вступления заключается в фокусировке ячейки внизу, но при расширении основных лиц фокус направляется вправо, мне нужно перейти вниз, есть ли какой-нибудь конфиг, который я могу попробовать?

Я пытался изменить событие afterChange с помощью метода updateSettings, но это не сработало.

ниже кода листа способом JSF.

<pe:sheet extender="sheetExtender" id="sheet" contextMenu="true"
                    rowHeader="true" colHeader="true" widgetVar="sheetWidget"
                    var="_det" rowKey="#{_det.item}" height="300" showRowHeaders="true"
                    value="#{ordenSuministroController.detalles}"
                    readOnly="#{ordenSuministroController.instance.estado!='PENDIENTE'}"
                    converter="#{ordenSuministroDetConverter}"
                    emptyMessage="No se encontraron registros." locale="es-MX"
                    maxCols="5" minCols="5" movableCols="false" movableRows="true">
                    <f:facet name="header">
                        <strong>HEADER</strong>
                    </f:facet>
                    <pe:sheetcolumn headerText="Descripcion" required="true"
                        readOnly="#{ordenSuministroController.instance.estado!='PENDIENTE'}"
                        value="#{_det.descripcion}" colType="text"></pe:sheetcolumn>
                    <pe:sheetcolumn headerText="Unidad" value="#{_det.unidad}"
                        readOnly="#{ordenSuministroController.instance.estado!='PENDIENTE'}"
                        colType="text"></pe:sheetcolumn>
</pe:sheet>

Primefaces v7.0 Primefaces-расширение v7.0.1

1 Ответ

4 голосов
/ 21 июня 2019

На основе документации HandsonTable вы используете функцию enterMoves, чтобы управлять тем, как клавиша ввода перемещает ячейки. Смотри: https://github.com/handsontable/handsontable/issues/4531

Затем в коде Sheet Extender вы можете просто выполнить функцию «extender», как в примере Showcase , и изменить Extender на:

function sheetExtender() { 
   this.cfg.enterMoves = {row: 1, col: 0}; 
}
...