格子在数据源中发送动态变量

Kendoui Grid send dynamic variable in data source

本文关键字:动态 变量 数据源      更新时间:2023-09-26

我正在尝试根据从选择下拉菜单中选择的选项"过滤"一个网格。

我如何发送选定的选项值到网格时,更改事件的选择下拉菜单火灾?

我的网格数据源是:

dataSourceParts = new kendo.data.DataSource({
    serverPaging: false,
    serverFiltering: false,
    serverSorting: false,
    transport: {
        read: {
            url: ROOT + 'shipment/partsSerialGrid',
            dataType: 'json',
            type: 'POST',
            data: {
                enquiryId: enquiryId
            }
        }
    },
    pageSize: 25,
    error: function(e) {
        alert(e.errorThrown + "'n" + e.status + "'n" + e.xhr.responseText);
    },
    schema: {
        data: "data",
        total: "rowcount",
        model: {
            id: 'id',
            fields: {
                quantity: {
                    type: 'number',
                    editable: false
                },
                idealForm: {
                    type: 'string',
                    editable: false
                },
                serial: {
                    type: 'string',
                    editable: true
                }
            }
        }
    }
})

我的select事件:

$('#fromNameSelect').change(function() {
            var fromMode = $('#fromSelect').val();
            if (fromMode == 2)
            {
                supplierId = $(this).val();
                dataSourceParts.filter({
                    field: 'test', operator: 'eq', value: 'test' // THIS DOES NOTHING.
                });
                $('#shippingPartsGrid').data('kendoGrid').dataSource.read();
            }
        })

我不能确认。但是由于你在dataSourceParts中设置了过滤器。你不应该用dataSourceParts.read()代替$('#shippingPartsGrid').data('kendoGrid').dataSource.read();吗?

$('#fromNameSelect').change(function() {
            var fromMode = $('#fromSelect').val();
            if (fromMode == 2)
            {
                supplierId = $(this).val();
                 $('#shippingPartsGrid').data('kendoGrid').dataSource.filter({
                    field: 'test', operator: 'eq', value: 'test' // DO IT LIKE THIS
                });
            }
        })