KendoUI的filter賦值給value不能是字串,否則出現27%
//var dataSource = $("#grid").data("kendoGrid").dataSource;
// //獲取過濾條件
//var filters = dataSource.filter();
//// 獲取全部表格的資料
//var allData = dataSource.data();
//// 對全部資料進行過濾條件的篩選
//var query = new kendo.data.Query(allData);
////在這裡進行傳送了請求
這裡是一個filter的時候
var filter = { };
$.ajax({
url: url3,
dataType: "json",
type: "post",
data: {
FunctionID: window.FunctionID
}
})
.done(function (result2) {
if (result2.IsSuccess && (result2.Data.filter1_value.length > 0 || result2.Data.filter2_value.length > 0)) {
filter = { logic: result2.logic, filters: [] };
var value1 =parseFloat( result2.Data.filter1_value);
var value2 = parseFloat(result2.Data.filter2_value);
if (result2.Data.filter1_value.length > 0) {
filter.filters.push({ field: result2.Data.filter1_name, operator: result2.Data.filter1_operator, value: value1});
}
if (result2.Data.filter2_value.length > 0) {
filter.filters.push({ field: result2.Data.filter2_name, operator: result2.Data.filter2_operator, value: value2 });
}
}
})
其中
filter: filter,//這個是給kendoUI過濾條件
sort:result.Data.columns,//這個是給他進行排序
這裡是多個filter的時候
var filterAll = new Array();
if (result2.IsSuccess) {
for (var i = 0; i < result2.Data.length; i++) {
var iInt = 0;
filter = { logic: null, filters: [] };
if (result2.Data[i].filter_value1 != 0) {//第一個值不為0
iInt = iInt + 1;
var field_name = result2.Data[i].field_name;
var filter_operator1 = result2.Data[i].filter_operator1;
var filter_value1 = result2.Data[i].filter_value1;
filter.filters.push({ field: field_name, operator: filter_operator1, value: filter_value1 });
}
if (result2.Data[i].filter_value2 != 0) {//第二個值不為0
iInt = iInt + 1;
var field_name = result2.Data[i].field_name;
var filter_operator2 = result2.Data[i].filter_operator2;
var filter_value2 = result2.Data[i].filter_value2;
filter.filters.push({ field: field_name, operator: filter_operator2, value: result2.Data[i].filter_value2 });
}
if (iInt == 2) {//有兩個值的時候用中間連線
filter.logic = result2.Data[i].filter_logic;
}
if (iInt > 0) {//至少有一個值否則不用加到篩選條件集合裡面
filterAll.push(filter);
}
}
}