Magento2.1 ui ızgarası, filtre sorununu kaldırın veya temizleyin (filtreyi kaldırdıktan sonra, sonuç satırı tüm koleksiyon için geçerlidir)


12

Magento 2.1.0'da ui ızgarası oluşturdum ve filtreleri kaldırırken veya tüm filtreleri ui ızgarasından temizlerken sorunla karşılaştım. Filtrelenen sonucum tüm ızgarayı kaplıyor , filtreyi kaldırdıktan sonra tüm ızgarada aynı satır tekrarlanıyor .

Bu sorunun neden ortaya çıktığını anlıyorum, ancak bu sorunu çözemiyorum.

Filtre kaldırılırken veya tüm filtreler temizlenirken , mui / index / render alma isteği tetiklenmemesi nedeniyle sorun ortaya çıkıyor .

Aslında 2 veya daha fazla filtre uygulandığında işe yaradı ve son filtre uygulandığında bunları kaldırdım.


Bu, 1. aktif ekli filtre için özel önbellekleme nedeniyle oluyor.Lütfen bana bu sorunu çözmek için herhangi bir öneri verin.
rajneesh gupta

Yanıtlar:


22

Sadece önceki çözüme eklemek için. Özel düzeltme, 'storageConfig' öğesini eklemektir. Bu eksikse, satır verilerinin çoğaltıldığı sorunu görürsünüz.

<item name="storageConfig" xsi:type="array">
    <item name="indexField" xsi:type="string">entity_id</item>
</item>

Burada 'varlık_kimliği' toplama verileri için birincil anahtarınızdır ve ayrıca

<argument name="primaryFieldName" xsi:type="string">entity_id</argument>

Ve aşağıdakiler tamamen kaldırılabilir. Bu sadece 'dataProvider' düğümünde belirtilen değeri çoğalttığından.

<argument name="data" xsi:type="array">
    <item name="js_config" xsi:type="array">
        <item name="component" xsi:type="string">Magento_Ui/js/grid/provider</item>
    </item>
</argument>

evet haklısın, şimdi çalışıyor
rajneesh gupta

Çözümünüze şerefe :) benden +1
Keyur Shah

14

aynı sorunu vardı ve ui_component xml bu kod ile çözmek:

<dataSource name="storelocator_store_listing_data_source">
    <argument name="dataProvider" xsi:type="configurableObject">
        <argument name="class" xsi:type="string">StoreGridDataProvider</argument>
        <argument name="name" xsi:type="string">storelocator_store_listing_data_source</argument>
        <argument name="primaryFieldName" xsi:type="string">store_id</argument>
        <argument name="requestFieldName" xsi:type="string">id</argument>
        <argument name="data" xsi:type="array">
            <item name="config" xsi:type="array">
                <item name="component" xsi:type="string">Magento_Ui/js/grid/provider</item>
                <item name="update_url" xsi:type="url" path="mui/index/render"/>
                <item name="storageConfig" xsi:type="array">
                    <item name="indexField" xsi:type="string">store_id</item>
                </item>
            </item>
        </argument>
    </argument>
    <argument name="data" xsi:type="array">
        <item name="js_config" xsi:type="array">
            <item name="component" xsi:type="string">Magento_Ui/js/grid/provider</item>
        </item>
    </argument>
</dataSource>

"DataProvider" düğüm adına bir göz atın. Umarım yardımcı olur


2
Evet, harika çalıştı, Çok teşekkürler tony :)
rajneesh gupta

thanks @Tony u mükemmel çalışma zamanımı kurtardım bu yüzden + oy
Nagaraju K

8

Ben Magento 2.3 aynı sorunu var ve aşağıdaki kodu kullanarak çözüldü ui_component xml.

<dataSource component="Magento_Ui/js/grid/provider" name="listing_data_source">
        <settings>
            <storageConfig>
                <param name="indexField" xsi:type="string">primary_id</param>
            </storageConfig>
            <updateUrl path="mui/index/render"/>
        </settings>
        ...
        ...
</dataSource>

Bunu nerede düzelttiğini söyleyebilir misin?
Sander van Zuidam

1
@Aasim Goriya, Ben de aynı sorunu var, kodunuzu ekledi. Şimdi filtreler iyi çalışıyor. Teşekkür ederim, zamanımı kurtardın.
balu

1
@DhadukMitesh Varsayılan filtreyle ne demek istiyorsun? lütfen daha fazla açıklayabilir misiniz?
Aasim Goriya

1
@DhadukMitesh tamam, sorununuzu filtreyi sıfırladığınızda, şebekeniz tüm değerleri doğru göstermiyor mu?
Aasim Goriya

1
@DhadukMitesh Magento'nun ızgara verileri ui_bookmark tablosuna kaydedildiği ve verileri filtrelediğinizde ui_bookmark tablosuna kaydedileceği için bunun mümkün olabileceğini düşünmüyorum, böylece ui_bookmark tablosundaki veri değişene kadar filtreyi sıfırlamak mümkün değil, bu yüzden ihtiyacınız var yüklerken ui_bookmark tablo girdilerini kaldırmak için.
Aasim Goriya
Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.