javascript - स्ट्रिंग फ़िल्टर में दर्ज मान को कैसे संशोधित करें



string extjs (1)

उदाहरण के अनुसार docs.sencha.com/extjs/4.2.0/extjs-build/examples/grid-filtering/… अपना स्वयं का बूलियनफ़िल्टर बनाएं और आपको शर्त जोड़ें। नीचे मेरा स्निपेट देखें।

Ext.define('MyFilter.CustomBooleanFilter', {
   extend: 'Ext.ux.grid.filter.StringFilter',
   alias: 'gridfilter.customboolean',

   validateRecord : function (record) {
       var rValue = record.get(this.dataIndex),
           fValue = this.getValue();
       return rValue == fValue || rValue == (fValue == "1" || "true".indexOf(fValue.toLowerCase()) == 0 || "yes".indexOf(fValue.toLowerCase()) == 0);
    }
});

यहां कामकाजी डेमो देखें। https://fiddle.sencha.com/#fiddle/1f5l

अगर आप इसकी तलाश नहीं कर रहे हैं तो मुझे बताएं। मैंने अपनी समझ के अनुसार क्या किया है संपादित करें: लेकिन मुझे लगता है कि यह वही है जो आप चाहते हैं, फिर अपने इच्छित पाठ को बदलने के लिए बूलियन फ़िल्टर का उपयोग करें। हां और नहीं की तरह उपयोगकर्ता के प्रवेश के मुकाबले यह अधिक सुविधाजनक है। जैसा कि आपके पास केवल दो मान हैं।

https://code.i-harness.com

मेरे ग्रिड में 3 कॉलम के लिए मेरे पास स्ट्रिंग फ़िल्टर है। यह ठीक काम कर रहा है। तीसरे कॉलम में जिसका dataindex abc मैं प्रवेश मूल्य को संशोधित करना चाहता हूं।

उदाहरण के लिए यदि मैं 0 दबाता हूं तो यह 0 से युक्त सभी डेटा फ़िल्टर करता है। मैं फ़िल्टर करने के लिए 0 के बजाय 'नहीं' दबा देना चाहता हूं। इसी तरह मैं 1 के साथ डेटा फ़िल्टर करने के लिए 1 के बजाय 'हां' का उपयोग करना चाहता हूं।

फ़िल्टर बनाने के लिए मेरा कोड।

this.filters = new Ext.ux.grid.GridFilters({
    filters: this.filter,
    local: true,
    autoReload: false,
});
this.features = [this.filters];
this.plugins = [this.filters];

फ़िल्टर डालने के लिए कोड।

gridEl.filter.push({
    type: header.getAttribute("FILTER"),
    dataIndex: header.getAttribute("DATAINDEX"),
    encode: false,
    metaID: header.getAttribute("M"),
});

मदद के लिए धन्यवाद।






extjs3