我想使用预定义的过滤器在管理员中创建指向自定义网格的链接。该网格由一个UI列表组件(XML)组成,并具有一个称为的列form_id
,其设置如下:
<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>
网格工作正常。我可以应用过滤器,并且一切正常。使用XHR请求可以很好地更新网格。
但是...我希望能够在某个时候预先定义过滤器的值。例如,我希望能够在按ID = 3进行过滤时打开网格。
因此,我已经尝试使用与XHR-request相同的URL参数加载页面,以及仅添加所需的参数:
?namespace=form_response_listing&search=&filters[placeholder]=true&filters[form_id][from]=3&filters[form_id][to]=3&paging[pageSize]=20&paging[current]=1
以及:
?filters[form_id][from]=3&filters[form_id][to]=3
两者都没有成功。那么,如何使用URL预填充过滤器?
编辑:
我不确定这是否与其他问题重复(如下面的评论中所述)。就我而言,我将虚拟类型用作网格的集合:
<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>
因此,并不是我的网格小部件具有物理的Block类,而是纯粹使用列出XML的UI组件创建的。
不过,无论如何,我都会检查所提到的问题是否对我的用例有用。
prepareColumns
方法中配置的。