Mam siatkę w ext-js z przyciskiem „Pobierz”, aby użytkownik mógł pobrać reprezentację pliku tej siatki, którą utworzę w locie po naciśnięciu przycisku.

Ale nie wiem, jakim mechanizmem w EXT-JS mogę uruchomić to pobieranie. Nie jestem pewien, czy EXT-JS ma jakieś funkcje pomocnicze, czy po prostu używasz prostego javascriptu (w takim przypadku jak zagłębić się w elementy wewnętrzne, aby zrobić to w EXT-JS?)

Jakie jest najlepsze podejście do wywołania tego pobierania za pomocą funkcji obsługi przycisku?

0
kimon 18 październik 2012, 03:16

2 odpowiedzi

Najlepsza odpowiedź

W ExtJS Button klasa posiada właściwość href, którą można ustawić tak, aby wyzwalała HTTP GET zasobu, który próbujesz pobrać.

EDYCJA: po wyjaśnieniu tego, co próbujesz tutaj zrobić, potrzebujesz: Dane w adresie URL: http://en.wikipedia.org/wiki/Data_URI_scheme

Ta sztuczka sprawia, że ​​Twoja przeglądarka myśli, że musi pobrać plik. Musisz wyprodukować dane po stronie klienta. Istnieje kilka wtyczek, które działają w ten sposób: http: //www.sencha.com/forum/showthread.php?146348-ExtJS-4-Grid-Printer-Plugin

Inna wtyczka korzysta z innej metody: https://github.com/iwiznia/Ext.ux.Exporter< /a>

1
dbrin 18 październik 2012, 05:18
window.location = url_of_file

Chociaż przypominam sobie pewne problemy z dziwnym zachowaniem w ExtJS, więc normalnie otwieramy adres URL w nowym oknie/karcie:

window.open(url_of_file);
1
Neil McGuigan 18 październik 2012, 04:06