2012-05-09 34 views
5

Tài liệu của Ext.data.Store tìm phương pháp nói:ExtJS cửa hàng tìm thấy tất cả

Finds chỉ số của Ghi phù hợp đầu tiên trong cửa hàng này bởi một giá trị lĩnh vực cụ thể.

Câu hỏi của tôi là làm cách nào để tìm chỉ mục của tất cả bản ghi phù hợp trong cửa hàng này?

+1

phiên bản ExtJS sẽ hữu ích – sra

+0

Phiên bản là ExtJS 4 – Sebastian

Trả lời

1

Cửa hàng Extjs có vài phương thức trả về bản ghi khớp được khớp đầu tiên theo giá trị trường cụ thể. Để có được tất cả các bản ghi đã lọc, bạn phải sử dụng mỗi chức năng & & so khớp hoặc lọc các bản ghi mong muốn.

1

Nếu bạn đang sử dụng ExtJS 3.x, giả sử bạn có lưu trữ dữ liệu của bạn được tham chiếu bởi store

Ext.pluck(store.filter('field', 'value'), 'id'); 

trả về một mảng chứa các chỉ số của các hồ sơ phù hợp.

+0

từ 4.x 'filter()' không còn trả lại bất kỳ thứ gì. Cũng 'Ext.pluck' sẽ được tìm thấy trong Ext.Array.pluck. Điểm khác là cửa hàng được lọc sau đó. – sra

+0

Như bạn đã nhận xét, phiên bản ExtJS sẽ hữu ích. Câu trả lời của tôi là đúng cho ExtJS 3.4 – malteo

8

Tôi nghĩ rằng chức năng tốt nhất đáp ứng nhu cầu của bạn là queryBy() vì nó trả về mảng Bản ghi phù hợp.

Bạn vẫn có thể sử dụng each() để kiểm tra xem Mô hình có khớp với tiêu chí sau đó thêm chúng vào mảng hay không. Nhưng chức năng này thích hợp hơn để duyệt qua tất cả các Bản ghi trong cửa hàng, không chỉ cho dữ liệu "lọc".

+1

Phương thức [truy vấn '] (http://docs.sencha.com/ext-js/4-1/#!/api/Ext.data.Store-method-query) cũng cung cấp một phiên bản lối tắt của 'queryBy'. – GreenGiant

Các vấn đề liên quan