无法在网格中的切换列上搜索

Cannot search on a toggle column in a grid

当我通过搜索将切换列添加到网格时,它似乎不起作用。我修改了带有搜索演示的网格以包含一个切换。但是当我尝试搜索它时,下拉菜单只给了我一个 "Is" 选项,我无法为搜索子句输入任何内容。

searches: [
    { field: 'recid', caption: 'ID ', type: 'int' },
    { field: 'lname', caption: 'Last Name', type: 'text' },
    { field: 'fname', caption: 'First Name', type: 'text' },
    { field: 'email', caption: 'Email', type: 'list', options: { items: ['peter@gmail.com', 'jim@gmail.com', 'jdoe@gmail.com']} },
    { field: 'auth', caption: 'Auth', type: 'toggle' }
],
columns: [                
    { field: 'recid', caption: 'ID', size: '50px', sortable: true, attr: 'align=center' },
    { field: 'lname', caption: 'Last Name', size: '30%', sortable: true },
    { field: 'fname', caption: 'First Name', size: '31%', sortable: true },
    { field: 'email', caption: 'Email', size: '40%' },
    { field: 'auth', caption: 'Auth', render: 'toggle', size: '20px' }
]

jsFiddle: https://jsfiddle.net/c9r6pk7m/4/

虽然 toggle 是一个有效的渲染值,但它不是一个有效的搜索类型。

参见:http://w2ui.com/web/docs/1.5/w2grid.searches

您可以改用 list,但我必须承认,我必须 "cheat" 和 false 值,将其映射到 {id:"0", text: "No"}.

$(function () {
    $('#grid').w2grid({ 
        name: 'grid', 
        show: { 
            toolbar: true,
            footer: true
        },
        multiSearch: true,
        searches: [
            { field: 'recid', caption: 'ID ', type: 'int' },
            { field: 'lname', caption: 'Last Name', type: 'text' },
            { field: 'fname', caption: 'First Name', type: 'text' },
            { field: 'email', caption: 'Email', type: 'list', options: { items: ['peter@gmail.com', 'jim@gmail.com', 'jdoe@gmail.com']} },
            { field: 'auth', caption: 'Auth', type: 'list', options: { items: [{id:true, text: "Yes"}, {id:"0", text: "No"}]} }
        ],
        columns: [                
            { field: 'recid', caption: 'ID', size: '50px', sortable: true, attr: 'align=center' },
            { field: 'lname', caption: 'Last Name', size: '30%', sortable: true },
            { field: 'fname', caption: 'First Name', size: '31%', sortable: true },
            { field: 'email', caption: 'Email', size: '40%' },
            { field: 'auth', caption: 'Auth', render: 'toggle', size: '20px' }
        ],
        records: [
            { recid: 1, fname: 'Jane', lname: 'Doe', email: 'jdoe@gmail.com', auth: true },
            { recid: 2, fname: 'Stuart', lname: 'Motzart', email: 'jdoe@gmail.com', auth: true },
            { recid: 3, fname: 'Jin', lname: 'Franson', email: 'peter@gmail.com', auth: true },
            { recid: 4, fname: 'Susan', lname: 'Ottie', email: 'jim@gmail.com', auth: true },
            { recid: 5, fname: 'Kelly', lname: 'Silver', email: 'peter@gmail.com', auth: true },
            { recid: 6, fname: 'Francis', lname: 'Gatos', email: 'jdoe@gmail.com', auth: true },
            { recid: 7, fname: 'Mark', lname: 'Welldo', email: 'jim@gmail.com', auth: false },
            { recid: 8, fname: 'Thomas', lname: 'Bahh', email: 'jdoe@gmail.com', auth: false },
            { recid: 9, fname: 'Sergei', lname: 'Rachmaninov', email: 'jdoe@gmail.com', auth: false },
            { recid: 20, fname: 'Jill', lname: 'Doe', email: 'jdoe@gmail.com', auth: false },
            { recid: 21, fname: 'Frank', lname: 'Motzart', email: 'jdoe@gmail.com', auth: false },
            { recid: 22, fname: 'Peter', lname: 'Franson', email: 'jdoe@gmail.com', auth: false },
            { recid: 23, fname: 'Andrew', lname: 'Ottie', email: 'jdoe@gmail.com', auth: false },
            { recid: 24, fname: 'Manny', lname: 'Silver', email: 'jdoe@gmail.com', auth: false },
            { recid: 25, fname: 'Ben', lname: 'Gatos', email: 'peter@gmail.com', auth: true },
            { recid: 26, fname: 'Doer', lname: 'Welldo', email: 'jdoe@gmail.com', auth: true },
            { recid: 27, fname: 'Shashi', lname: 'Bahh', email: 'jim@gmail.com', auth: true },
            { recid: 28, fname: 'Av', lname: 'Rachmaninov', email: 'jim@gmail.com', auth: true }
        ]
    });    
});

https://jsfiddle.net/c9r6pk7m/9/