Mam autouzupełnianie w mojej siatce interfejsu użytkownika, działa dobrze, ale po umieszczeniu dyrektywy ui-grid-cellnav klawiatura w górę iw dół nie działa w przypadku autouzupełniania.
<div class="grid nonProductiveTimeGrid" ui-grid="nonProductiveTimeGridOptions" ui-grid-resize-columns style="width: 100%;" ui-grid-edit ui-grid-cellnav ui-grid-auto-resize ui-grid-draggable-rows ui-grid-selection></div>
a kod kontrolera dla kolumny siatki to
var _columnsDefs = function (isLocked) {
var cols = [{
field: "ResponsibleParty",
displayName: "Responsible Party",
enableCellEdit: !isLocked,
editableCellTemplate: "<div><form name="inputForm"><input type="INPUT_TYPE" typeahead-append-to-body="true" ng-class=""colt" + col.uid" ui-grid-editor ui-grid-edit data-ng-model="MODEL_COL_FIELD" name="label" maxlength="100" required validate-required-cell data-typeahead="responsibleParty for responsibleParty in grid.appScope.responsibleParties | filter:$viewValue | limitTo:8 " /></form></div>",
width: "20%"
}];
}
Odpowiedzi:
0 dla odpowiedzi № 1Nie masz modułu obsługi dla typeahead-on-select. Zmień to na
"data-typeahead-on-select="grid.appScope.typeaheadSelected(row.entity, $item)" " +
i dodaj funkcję
$scope.typeaheadSelected = function(entity, item) {
entity.name = item.name; // or whatever you want to do
//console.log(item);
}
Musiałem również skomentować tę linię, aby to zrobićdziała, ale potem stracił automatyczne zaznaczanie całego tekstu po fokusie, co oznacza, że musisz dwukrotnie kliknąć, a następnie zaznaczyć cały tekst (myszą lub Ctrl + A), aby go edytować. Nie wiem dlaczego, może istnieje obejście tego problemu. Miałem ten sam problem z moim typem w sieci.
//"ui-grid-edit ui-grid-editor " +
W każdym razie po tych zmianach mogłem dwukrotnie kliknąć, aby edytować wartość, wybrać stan za pomocą klawiszy strzałek i zaktualizować jednostkę.