Önceden tanımlanmış filtrelerle yöneticimdeki özel bir tabloya bağlantı oluşturmak istiyorum. Izgara bir UI Listeleme Bileşeni (XML) ile yapılır ve form_id
şu şekilde ayarlanmış bir sütuna sahiptir :
<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>
Izgara gayet iyi çalışıyor. Filtreyi uygulayabilirim ve her şey iyi çalışıyor. Izgara bir XHR isteği ile güzelce güncellenir.
Ancak ... bir noktada bir filtre değerinin önceden tanımlanmış olmasını istiyorum. Örneğin, ID = 3'te filtrelendiğinde ızgarayı açabilmek istiyorum.
Bu yüzden zaten XHR isteği ile aynı URL parametreleriyle sayfayı yüklemeyi ve sadece gerekli parametreleri eklemeyi denedim:
?namespace=form_response_listing&search=&filters[placeholder]=true&filters[form_id][from]=3&filters[form_id][to]=3&paging[pageSize]=20&paging[current]=1
Hem de:
?filters[form_id][from]=3&filters[form_id][to]=3
Her ikisi de başarılı olamadı. URL'yi kullanarak filtreleri nasıl önceden doldurabilirim?
Düzenle:
Bunun diğer sorunun bir kopyası olup olmadığından emin değilim (aşağıdaki yorumlarda belirtildiği gibi). Benim durumumda, ızgaram için koleksiyon olarak sanal bir tür kullanıyorum:
<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>
Bu yüzden ızgara widget'ım için fiziksel bir Block sınıfına sahip değilim, tamamen bir UI Bileşeni listeleme XML'si ile oluşturuldu.
Yine de, atıfta bulunulan sorunun kullanım durumuma yardımcı olup olmadığını kontrol edeceğim.
prepareColumns
yöntem yerine xml dosyasında yapılandırılmış bir şeydi .