2014-02-04 2 views
0

Я пытаюсь добавить элементы ngdblclick в каждую строку с помощью моей ng-сетки. Оно работает! Однако я больше не могу видеть свои данные. Я вижу строки, но не данные. Есть данные, они, похоже, правильны. Я знаю это, потому что я создал список под названием selectedRows, который связывается с выбранными элементами в gridOptions. Когда я нажимаю на каждую строку. Я вижу, что мои данные отображаются в html ng-grid + rowTemplate не работает. Что мне не хватает?

 tag. See below for my code.

$scope.tableData=[]; $scope.tableData=[{id:'10203040', status:'Submitted'}, {id:'10203040', status:'Submitted'},] $scope.selectedRows=[]; var rowTempl = '<div ng-dblClick="onDblClickRow(row)" ng-style="{ \'cursor\': row.cursor }" ng-repeat="col in renderedColumns" '+'ng-class="col.colIndex()" class="ngCell{{col.cellClass}}"><div class="ngVerticalBar" ng-style="{height:rowHeight}" ng-class"{ngVerticalBarVisible:!$last}">$nbsp;</div><div ng-cell></div></div>'; $scope.onDblClickRow = function(row){ alert("Double Click works!"); }; $scope.gridOptions = { data: 'myData', selectedItems:$scope.selectedRows, showColumnMenu:true, showFilter:false, enableColumnResize:true, enableRowSelection:true, showGroupPanel:false, rowTemplate: rowTempl, columnDefs: [ {displayName:'Name', field:'name'}, {displayName:'Age', field:'age'}], }; });

ответ

1

Мне не удалось запустить ваш код. Поле cololDefs и ваши ключи tableData не совпадают. Кроме того, данные gridOptions имеют «myData» вместо «tableData». Я не уверен, какой код вы использовали, так как вы говорите, что можете видеть данные в HTML.

Во всяком случае, это работает:

$scope.tableData=[]; 

$scope.tableData=[{id:'10203040', status:'Submitted'}, 
       {id:'10203040', status:'Submitted'}]; 

$scope.selectedRows=[]; 

var rowTempl = '<div ng-dblClick="onDblClickRow(row)" ng-style="{ \'cursor\': row.cursor }" ng-repeat="col in renderedColumns" '+'ng-class="col.colIndex()" class="ngCell{{col.cellClass}}"><div class="ngVerticalBar" ng-style="{height:rowHeight}" ng-class"{ngVerticalBarVisible:!$last}">$nbsp;</div><div ng-cell></div></div>'; 

$scope.onDblClickRow = function(row){ 
alert("Double Click works!"); 
}; 


$scope.gridOptions = { 
    data: 'tableData', 
    selectedItems:$scope.selectedRows, 
    showColumnMenu:true, 
    showFilter:false, 
    enableColumnResize:true, 
    enableRowSelection:true, 
    showGroupPanel:false, 
    rowTemplate: rowTempl, 
    columnDefs: [ 
     {displayName:'Name', field:'id'}, 
     {displayName:'Age', field:'status'}], 
    }; 
+0

Эй @Cabel, спасибо за реагирование. Когда я представил этот вопрос, я только начал играть с JS, Angularjs и ngGrid. Как вы видели в моем коде, у меня было много недостатков. В конце концов я понял, что я делаю неправильно. Тем не менее, это все еще хороший пример для тех, кто наткнулся на эту страницу. Еще раз спасибо. – ilndboi

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