próbuję przełączyć z wersja Smart-Table 1.x do Kątowymi UI-siatki (wersja 3.0), w zastępstwie NG-siatki.
Podobał mi się prawie wszystko na temat ui-grid, ale jedna rzecz doprowadza mnie do szału. W tabeli smart-table znajduje się wartość dla dataRow
, która jest wygodnym sposobem odwoływania się do encji w tabeli.Użycie Angular UI-Grid, w jaki sposób uzyskać dostęp do danych jednostki wiersza bez użycia wyboru wiersza?
Używałem go do zapełniania szablonu html w celu dołączenia informacji o polu z obiektu, podobnie jak ng-click="$parentScope.edit(dataRow.id)"
w szablonie html umieszczonym w komórce siatki.
Jednak w ui-grid, nie mogę uzyskać dostępu do obiektu obiektu bez dokonywania formalnego wyboru wiersza lub komórki. Jakikolwiek wysiłek włożenia go w szablon komórki powoduje powstanie obiektu (row.entity
), ale nie mogę uzyskać dostępu do żadnego z elementów encji, ponieważ są one niezdefiniowane. Jakieś pomysły?
Co więcej, udało mi się wykonać metodę w szablonie HTML, ale tylko te, które nie mają parametrów, a nie próbują użyć parametru z samej jednostki.
Oto mój szablon HTML, który pracował z inteligentnych tabeli:
<a data-toggle="tooltip" data-placement="top" title="View {{filteredRowCollection}}" ng-click="$parent.$parent.$parent.$parent.view(dataRow.id)"
class="glyphicon glyphicon-camera green">
</a>
<a data-toggle="tooltip" data-placement="top" title="Edit {{selectionId}}" ng-click="grid.appScope.edit(row.entity.id)"
class="glyphicon glyphicon-pencil blue">
</a>
<a data-toggle="tooltip" data-placement="top" title="Delete {{selectionId}}" ng-click="$parent.$parent.$parent.$parent.delete(dataRow.id)"
class="glyphicon glyphicon-trash red">
</a>
starałem się użyć czegoś takiego z UI-siatki:
function edit(row){
. . .
};
row
, w tym momencie jest obiekt, podobnie jak row.entity
. Spodziewałem się, że będę mógł użyć czegoś takiego, jak row.entity.id
, jedno z pól, ale jest to undefined
.
Mały błąd w wycięciu i wklejeniu. Linia ng-click dla edycji była w rzeczywistości jednym z moich testów. Co należy przeczytać, to ng-click = "grid.appScope.edit (row.entity.id)" –
Edytowane zgodnie z życzeniem. Jednak powinieneś wiedzieć, że sam możesz edytować swoje pytania: poszukaj przycisku 'edit' tuż pod twoim pytaniem :) – ccjmne