Jak uzyskać obiekt wiersza w wierszu wybranym w jqGrid? Potrzebuję rzeczywistego obiektu, a nie wartości komórki. Przeszedłem przez dokumentację, ale nie mogłem znaleźć metody, która da mi obiekt wiersza. ponieważ używam niestandardowych formaterów, wartość CellValue nie będzie działać.jqGrid Obiekt wiersza in onSelectRow
Odpowiedz
przypadku zastosowania custom formatter i chcą uzyskać wartość komórki z tytułu getCell lub getRowData trzeba wdrożyć unformat również funkcję.
Nie jest jasne, co masz na myśli pod "Potrzebuję rzeczywistego obiektu, a nie wartości komórki". Nie jest również jasne, którego używasz datatype
, niezależnie od tego, czy używasz opcji loadonce: true
, czy też ładujesz dane z serwera, w jakim formacie dane zostaną wysłane na serwer.
Jeśli używasz datatype: 'local'
lub użyj loadonce: true
wewnętrzne data
i _index
parametry zostaną wypełnione. Aby uzyskać surowe dane z sieci przez rowid
można użyć
var rowData = this.p.data[this.p._index[rowid]]
lub
var grid = $(this),
localdata = grid.jqGrid('getGridParam', 'data'),
indexes = grid.jqGrid('getGridParam', '_index'),
rowData = localdata[indexes[rowid]];
Jeśli nie używać datatype: 'local'
lub użyj loadonce: true
i załadować dane z serwera tylko można zapisać obiekt reprezentował dane z odpowiedzi serwera w zmiennej (w obiekcie). Obsługa zdarzeń loadComplete
ma jeden parametr data
, który jest nieprzetworzonymi danymi przesłanymi z serwera. Dzięki temu możesz zapisać dane, które potrzebujesz w obiekcie (na mapie, która otrzyma obiekt yut przez rowid) i użyć go wewnątrz obsługi zdarzeń onSelectRow
.
Można użyć getInd i getLocalRow metody:
onSelectRow: function(rowid) {
var row = $(this).getLocalRow(rowid);
// do something with row
}
w moim projekcie:
ondblClickRow : function(rowid,iRow,iCol,e) {
$($("#completeDetail").getInd(rowid,true)).find(":first").click();
}
byłoby to rozwiązać rząd zwiększenie nie znaleźć szukając rzędu
użyj tej funkcji ->getInd(rowid,rowcontent)
.
Ta metoda zwraca indeks wiersza w tabeli siatki określonej przez id=rowid
, gdy parametr rowcontent ma wartość false (domyślnie). Jeśli parametr wierszowy ma wartość true, zwraca obiekt wiersza wpisu. Jeśli nie można znaleźć wiersza, funkcja zwraca wartość false.
- 1. JQgrid ustaw wysokość wiersza
- 2. Zmienianie wiersza polecenia na jqgrid?
- 3. jak uzyskać identyfikator wiersza wybranego wiersza w jqgrid
- 4. jqGrid nie zapisuje edycji wiersza w wierszu
- 5. JQGrid: Ładowanie danych do wiersza stopki
- 6. JQuery i JqGrid pobierają dane z wiersza
- 7. Dodawanie przycisku do wiersza w jqgrid
- 8. Jak usunąć wiersze w jqgrid
- 9. Dodaj procedurę obsługi zdarzeń do jqGrid po utworzeniu instancji
- 10. jqGrid użycie liczba formater
- 11. Czy można wyłączyć i/lub podświetlić wiersz (y) jqGrid?
- 12. jqGrid gridComplete: - getRowData - uzyskać wartość komórki wiersza z tablicy
- 13. jqGrid getRowData zwraca null
- 14. Uzyskaj obiekt wywołujący lub metody in D
- 15. jqGrid wyłącz podświetlanie wierszy
- 16. jqgrid przeładowanie siatki po pomyślnej aktualizacji inline/inline tworzenie rekordu
- 17. Wybór daty w jqGrid, prosty przykład?
- 18. JQGrid - Multiselect
- 19. jqGrid: Domyślnie wszystkie wiersze w "trybie edycji bezpośredniej"
- 20. Dodawanie obrazu w kolumnie jqgrid
- 21. jqgrid setGridParam typ danych: lokalny
- 22. Jak uzyskać wartość komórek zaznaczonych wierszy jqGrid?
- 23. jqGrid lub dataTable, które lepiej?
- 24. Dokumentacja interfejsu API JQGrid
- 25. jqGrid domyślna kolejność sortowania?
- 26. Zwiń określoną grupę jqGrid
- 27. SlickGrid Vs JQGrid
- 28. wyzwalacz jqGrid "Ładowanie ..." nakładka
- 29. jqGrid - dynamiczne ustawianie podpisu
- 30. Strona konfiguracji jqgrid
Dzięki za to, wskazał mi w dobrym kierunku – SystemParadox
@SystemParadox: Nie ma za co! Polecam dodatkowo zbadanie metody 'getLocalRow'. Spójrz [odpowiedź] (http://stackoverflow.com/a/9145342/315935) lub [inny] (http://stackoverflow.com/a/10362294/315935) na kilka małych przykładów kodu i dodatkowe informacje. [Kod źródłowy] (https://github.com/tonytomov/jqGrid/blob/v4.3.2/js/grid.base.js#L3494-3505) tej metody jest bardzo mały i ja również polecam jej przeczytanie . – Oleg
Muszę przyznać, zawsze to przeoczyłem, ale przechowywanie danych do późniejszego wykorzystania na loadComplete jest bardzo cenną funkcjonalnością. Ponieważ nigdy nie używam typu danych: "local" lub loadonce: true. Zastanawiam się nawet, dlaczego nie jest on domyślnie przechowywany w jakiejś własności "rawdata". W każdym razie dziękuję za wskazanie tego Olega. +1 – Steven