2015-04-06 3 views
4

Я использую угловой ui.grid моя проблема, когда я с помощью, как показано ниже нажмите на строку, ее выбранныйугловой пользовательский интерфейс сетки выбора строки

enableRowSelection: true, 
enableRowHeaderSelection: false, 
multiSelect: false 

после того, как я изменил в

enableRowSelection: true, 
enableRowHeaderSelection: true, 
multiSelect: false 

теперь только выбрать чекбокс работает, но не работает нажмите строку, пожалуйста, помогите ...

ответ

3

Смотрите этот вопрос: https://github.com/angular-ui/ng-grid/issues/2254

В настоящее время выбор заголовка строки и выбора строк не работает согласованно. Я считаю, что первое предназначалось для работы с выбором строки, когда использовалась сотовая навигация.

Это изменение указано как усовершенствование, поэтому оно включено в дорожную карту, просто не предназначен для выпуска 3.0.

Update:

ОК, вот как вы можете это сделать (хотя полагаться на невыпущенной бета модуль для чего-то, что это «срочно» это не хорошая идея, ИМО).

Возьмите код из директивы uiGridCell от функции выбора, вырвите ее и поместите в свой собственный модуль. В частности, этот код здесь: https://github.com/angular-ui/ng-grid/blob/v3.0.0-rc.20/src/features/selection/js/selection.js#L757

Вот код незавершенного примера. Вы захотите убедиться, что вы не привязываетесь к ячейкам заголовка строки, или выбор флажка не будет работать.

angular.module('ui.grid.custom.rowSelection', ['ui.grid']) 

.directive('uiGridCell', function ($timeout, uiGridSelectionService) { 
    if ($scope.col.isRowHeader) { 
    return; 
    } 

    registerRowSelectionEvents(); 

    function selectCells(evt) { ... } 
    function touchStart(evt) { ... } 
    function touchEnd(evt) { ... } 
    function registerRowSelectionEvents() { ... } 
}); 

И, наконец, вот плункер, который демонстрирует все это. Вы можете просто скопировать этот код и настроить его, как вам нравится: http://plnkr.co/edit/44SYdj19pDDaJWiSaPBt?p=preview

+0

спасибо за ответ, есть ли способ сделать это, потому что это актуально для меня .... – vamsikrishnamannem

+0

@vamsikrishnamannem Хорошо Я добавил пример того, как вы можете это сделать сейчас. – c0bra

+0

@ c0bra, поэтому ui-grid не имеет ничего похожего на ваш 'touchStart (evt)' уже? ng-grid используется для 'beforeSelection'. Продолжаете ли вы использовать ui-grid? – sports

8

этот вопрос якобы давно фиксированный (https://github.com/angular-ui/ui-grid/commit/679b615bd19ff71ff1e835d7f6066e7a919f279a), но она по-прежнему сохраняется для меня в версии угловой пользовательский интерфейс сетки 3.1.1

Там в свежий номер о нем (https://github.com/angular-ui/ui-grid/issues/5474) с обходным переопределить правила CSS с этим:

.ui-grid-cell.ui-grid-disable-selection.ui-grid-row-header-cell { 
    pointer-events: auto; 
} 
+0

идеальное решение! :) – onlinehood

Смежные вопросы