Magento2.1 ইউআই গ্রিড, ফিল্টার সমস্যা মুছে ফেলুন বা সাফ করুন (ফিল্টার অপসারণের পরে, ফলাফল সারি পুরো সংগ্রহে প্রযোজ্য)


12

ফিল্টারগুলি সরানোর সময় বা ইউআই গ্রিড থেকে সমস্ত ফিল্টার সাফ করার সময় আমি ম্যাজেন্টো ২.১.০ এ ইউআই গ্রিড তৈরি করেছি এবং সমস্যার মুখোমুখি হয়েছি। আমার ফিল্টার করা ফলাফল পুরো গ্রিড দখল করে মানে ফিল্টার অপসারণের পরে পুরো গ্রিডে একই সারির পুনরাবৃত্তি হয়

আমি কেন এই সমস্যাটি উত্থাপিত তা বুঝতে পেরেছি, তবে এই সমস্যাটি ঠিক করতে অক্ষম।

মুই / সূচক / রেন্ডারের কারণে ইস্যু উত্সাহিত হয় না ফিল্টার অপসারণ করার সময় বা সমস্ত ফিল্টার সাফ করার সময় অনুরোধটি আগুন হয় না।

আসলে 2 বা ততোধিক ফিল্টার প্রয়োগ করার সময় এটি কাজ করেছিল এবং আমি এগুলি সরিয়েছি তবে শেষ ফিল্টার প্রয়োগের ক্ষেত্রে না।


প্রথম অ্যাক্টিভ অ্যাপিলিড ফিল্টারটির জন্য বিশেষ ক্যাশিংয়ের কারণে এটি ঘটছে lease দয়া করে এই সমস্যাটি সমাধান করার জন্য আমাকে কোনও পরামর্শ দিন।
রজনীশ গুপ্ত

উত্তর:


22

শুধু পূর্বের সমাধান যোগ করতে। নির্দিষ্ট ফিক্সটি হ'ল 'স্টোরেজ কনফিগ' আইটেম যুক্ত করা। যদি এটি অনুপস্থিত থাকে তবে আপনি বিষয়টি দেখতে পাবেন যেখানে সারি ডেটা নকল করা আছে।

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

যেখানে 'সত্তা_আইডি' হ'ল সংগ্রহ ডেটার জন্য আপনার প্রাথমিক কী এবং এতে সংজ্ঞায়িত হিসাবে একই

<argument name="primaryFieldName" xsi:type="string">entity_id</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>

হ্যাঁ আপনি ঠিক বলেছেন, এখন এটি কাজ করছে
রজনীশ গুপ্ত

আপনার সমাধানের চিয়ার্স :) আমার কাছ থেকে +1
কিউর শাহ

14

আমার একই সমস্যা ছিল এবং আমি এই কোডটি ইউআই_ কম্পোনেন্ট এক্সএমএলে সমাধান করেছি:

<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>

নোডের নাম "ডেটাপ্রোভাইডার" একবার দেখুন। আশা করি এটা সাহায্য করবে


2
হ্যাঁ, এটি দুর্দান্ত কাজ করেছে, ধন্যবাদ প্রচুর টনি :)
রজনীশ গুপ্ত

ধন্যবাদ @ টনি আপনি আমার সময় নিখুঁতভাবে কাজ করে বাঁচিয়েছেন তাই + ভোট
নাগারাজু কে

8

আমি একই সমস্যাটি ম্যাজেন্টো ২.৩ এ পেয়েছি এবং নিম্নলিখিত কোডটি ব্যবহার করে সমাধান করেছি 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>

তুমি কোথায় আমাকে ঠিক করেছ?
স্যান্ডার ভ্যান জুইদাম

1
@ আসিম গোরিয়া, আমারও একই সমস্যা পেয়েছে, আপনার কোড যুক্ত করেছে। এখন ফিল্টারগুলি ভাল কাজ করছে working ধন্যবাদ, আপনি আমার সময় বাঁচিয়েছেন।
বালু

1
@ ধডুকমিতেশ ডিফল্ট ফিল্টার বলতে কী বোঝ? আপনি আরও ব্যাখ্যা করতে পারেন?
আসিম গরিয়া

1
@ Duাডুকমিতেশ ঠিক আছে তাই আপনার সমস্যাটি যখন আপনি ফিল্টারটি পুনরায় সেট করেন তখন আপনার গ্রিড সমস্ত মান সঠিক দেখায় না?
আসিম গরিয়া

1
@ Duাডুকমিতেশ আমি মনে করি না এটি সম্ভব হতে পারে, যেহেতু ম্যাজেন্টোর গ্রিড ডেটা ইউআই-বুকমার্ক সারণীতে সংরক্ষণ করে এবং যখন আপনি ফিল্টার করবেন ডেটা ui_bookmark এ সংরক্ষণ করবে সুতরাং ui_bookmark সারণীতে ডেটা পরিবর্তন না হওয়া পর্যন্ত ফিল্টার পুনরায় সেট করা সম্ভব হবে না, সুতরাং আপনার প্রয়োজন আপনার পৃষ্ঠাটি লোড হওয়ার সময় ui_bookmark সারণী এন্ট্রিগুলি সরাতে।
আসিম গরিয়া
আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.