Tôi muốn tạo một liên kết đến lưới tùy chỉnh trong quản trị viên của mình bằng các bộ lọc được xác định trước. Lưới được tạo với Thành phần danh sách giao diện người dùng (XML) và nó có một cột được gọi form_id
là thiết lập như thế này:
<column name="form_id">
<argument name="data" xsi:type="array">
<item name="config" xsi:type="array">
<item name="filter" xsi:type="string">textRange</item>
<item name="label" xsi:type="string" translate="true">Form id</item>
</item>
</argument>
</column>
Lưới hoạt động tốt. Tôi có thể áp dụng bộ lọc và mọi thứ hoạt động tốt. Lưới được cập nhật độc đáo với yêu cầu XHR.
Tuy nhiên ... tôi muốn có thể có giá trị của bộ lọc được xác định trước tại một số điểm. Ví dụ: tôi muốn có thể mở lưới khi được lọc trên ID = 3.
Vì vậy, tôi đã thử tải trang có cùng tham số URL với yêu cầu XHR, cũng như chỉ cần thêm các tham số bắt buộc duy nhất:
?namespace=form_response_listing&search=&filters[placeholder]=true&filters[form_id][from]=3&filters[form_id][to]=3&paging[pageSize]=20&paging[current]=1
Cũng như:
?filters[form_id][from]=3&filters[form_id][to]=3
Cả hai đều không thành công. Vậy làm cách nào tôi có thể điền trước các bộ lọc bằng cách sử dụng URL?
Biên tập:
Tôi không chắc đây có phải là một bản sao của câu hỏi khác không (như được đề cập trong các bình luận bên dưới). Trong trường hợp của tôi, tôi đang sử dụng một loại ảo làm bộ sưu tập cho lưới của mình:
<virtualType name="Vendor\Module\Model\ResourceModel\Response\Grid\Collection"
type="Magento\Framework\View\Element\UiComponent\DataProvider\SearchResult">
<arguments>
<argument name="mainTable" xsi:type="string">vendormodule_form_response</argument>
<argument name="resourceModel" xsi:type="string">Vendor\Module\Model\ResourceModel\Response</argument>
</arguments>
</virtualType>
Vì vậy, không phải tôi có lớp Khối vật lý cho tiện ích lưới của mình, nó hoàn toàn được tạo bằng XML liệt kê Thành phần UI.
Tuy nhiên, dù sao tôi cũng sẽ kiểm tra nếu câu hỏi được đề cập sẽ giúp ích cho trường hợp sử dụng của tôi.
prepareColumns
phương thức.