2015-05-07 5 views
5

So versuche ich meine Angular UI Grid zu einem Doppelklick-Ereignis auf eine ganze Zeile zu registrieren, um ein Modal zu öffnen. Ich kann mit einem Toastrost anfangen und von dort aus gehen. Dies ist das, was ich am nächsten bin, basierend auf verschiedenen Demos und Beispielen online, aber ich kann es einfach nicht funktionieren lassen.Angular ui Raster Doppelklick Event Setup

Controller:

$scope.gridHandlers = { 
    onDblClick: function(rowItem){ 
    toastr.success(rowItem, 'Row Item:') 
    } 
} 
$scope.gridOptions = { 
    onRegisterApi : function(gridApi){ 
    $scope.gridApi = gridApi 
    }, 
    data: $scope.customerList, 
    enableRowHeaderSelection: false, 
    enableRowSelection: true, 
    enableSelectAll: false, 
    multiSelect: false, 
    noUnselect: true, 
    rowTemplate: '<div ng-dblclick="getExternalScopes().onDblClick(row)" external-scopes="gridHandlers" ng-repeat=\"(colRenderIndex, col) in colContainer.renderedColumns track by col.colDef.name\" class=\"ui-grid-cell\" ng-class=\"{ \'ui-grid-row-header-cell\': col.isRowHeader }\" ui-grid-cell></div>', 
    columnDefs : [ 
    {name: 'name', type: 'string'}, 
    ...etc 
    {name: 'status_name', displayName: 'Status', width: '11%', type: 'string'} 
] 

Ausblick:

<div class="large-12 cols" ui-grid="gridOptions" ui-grid-selection external-scopes="gridHandlers"> 

Ich habe versucht, die grid.appScope Methoden sie über und alles andere reden, aber ich kann einfach nicht daran arbeiten. Wo bin ich hier, völlig ausgeschaltet?

Antwort

7

grid.appScope hat für mich funktioniert. Bitte sehen Sie die plnkr (Doppelklick auf eine Zeile, um die Zeilendaten zu sehen)

+0

Ich weiß, dies ist ein älterer Beitrag. aber trotzdem, ich folgte Ihrem Guide (was funktionierte, danke !!!), aber ich verlor ein Stück Funktionalität, aufgrund der Art, wie die Zeilenvorlage eingerichtet wurde. Wenn ich jetzt auf das Häkchen links neben dem Raster klicke, wird die Zeile nicht mehr hervorgehoben. Hast du etwas Ähnliches erlebt? – IWI