1. 程式人生 > >KendoUI的filter賦值給value不能是字串,否則出現27%

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


         }