2016-07-27 33 views
28

Tôi có bộ lọc chuỗi cho 3 cột trong lưới của mình. Điều này làm việc tốt. Trong cột thứ ba có dataindex là abc Tôi muốn sửa đổi giá trị đã nhập. Ví dụ: nếu tôi nhấn 0 thì nó lọc tất cả dữ liệu có 0. Tôi muốn nhấn 'Không' thay vì 0 để lọc. Tương tự, tôi muốn sử dụng 'Có' thay vì 1 để lọc dữ liệu bằng 1.Cách sửa đổi giá trị đã nhập trong bộ lọc chuỗi

Mã của tôi để tạo bộ lọc.

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

Mã để chèn bộ lọc.

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

Cảm ơn bạn đã trợ giúp.

+2

Bạn nên hiển thị mã của chúng tôi –

+1

Bạn có thể hiển thị mã cho chúng tôi và những gì bạn đã cố gắng làm? –

+0

@YosvelQuintero IS hiện có tốt cho bạn không? – David

Trả lời

11

Ví dụ: http://docs.sencha.com/extjs/4.2.0/extjs-build/examples/grid-filtering/grid-filter-local.html Tạo BooleanFilter của riêng bạn và thêm điều kiện cho bạn. Xem đoạn trích của tôi bên dưới.

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); 
    } 
}); 

Xem bản trình diễn làm việc tại đây. https://fiddle.sencha.com/#fiddle/1f5l

Hãy cho tôi biết nếu bạn không tìm kiếm điều này. Tôi đã làm theo những gì sự hiểu biết của tôi là EDIT: Nhưng tôi cảm thấy nếu đây là những gì bạn muốn, sau đó sử dụng Boolean Filter để thay đổi văn bản bạn muốn. Giống như Yes và No. Nó thuận tiện hơn cho người dùng hơn là nhập nó. Vì bạn chỉ có hai giá trị.

+0

Tôi đang làm việc về vấn đề này. Tôi cho rằng bản chỉnh sửa của bạn đã hết. Tôi sẽ thông báo cho bạn khi tôi hoàn thành. – David

+0

Đã thêm nhận xét cuối cùng của tôi. Xin lỗi vì đã có quá nhiều chỉnh sửa. Tôi chỉ vui mừng chơi với điều này ....: D. Không bao giờ nhìn thấy những người trước đây .... –

+0

Tôi đang sử dụng bộ lọc chuỗi vì phần còn lại của cột khác là chuỗi. chỉ cột này là vollean. Tôi đang thay đổi loại bộ lọc cho điều này là Boolean. Ngoài ra tôi đang sử dụng ext 3.4 nên không thể tạo bí danh – David

Các vấn đề liên quan