私は剣道グリッドを使ってデータを表示しています。私は日付の値(等号)を指定して日付フィールドをフィルタリングするとき、それは正常に動作します。しかし、フィルタの前後の条件を使用すると、データが誤ってフィルタリングされます。剣道グリッド日付フィルタが前後で動作しない
また、日付フィールドでソートしても、正しく並べ替えられません。どんな助けでも大歓迎です。参考:私はmoment.jsを使ってデータをdd/mm/yyyy形式でフォーマットしました。ここで
は、データとコードスニペットです:スキーマ内parse
設定を削除
$("#testgrid").kendoGrid({
change:onChange,
dataSource: {
data: [
{"No":"27691","ClientName":"ABC","ExpiryDate":"2015-03-14T00:00:00Z"},
{"No":"27691","Name":"DEF","ExpiryDate":"2016-03-22T00:00:00Z"},
{"No":"27691","Name":"ABC","ExpiryDate":"2015-02-28T00:00:00Z"},
{"No":"27691","Name":"ABC","ExpiryDate":"2011-07-03T00:00:00Z"},
{"No":"27691","Name":"ABC","ExpiryDate":"2015-07-31T00:00:00Z"},
{"No":"27691","Name":"ABC","ExpiryDate":null},
{"No":"27691","Name":"ABC","ExpiryDate":"2012-04-30T00:00:00Z"}
],
schema: {
model: {
fields: {
No: { type: "string" },
ExpiryDate: {
type: "date",
parse: function(inputdate) {
var dtval = moment(inputdate).format('DD/MM/YYYY');
if (dtval == "Invalid date")
return "";
else return dtval;}
},
Name: { type: "string" }
}
}
},
pageSize: 20
},
height: 550,
selectable: "single row",
allowCopy: true,
resizable: true,
groupable: true,
sortable: true,
filterable: {
mode: 'row',
extra: false,
operators: {
string: {
startswith: "Starts with",
eq: "Is equal to",
neq: "Is not equal to"
}
}
},
pageable: true,
columns: [
{ field: "No", title: "Number", filterable: { cell: { showOperators: true, operator: "contains" } } , width: 150 },
{ field: "Name", title: "Name", filterable: { cell: { showOperators: true} }, width: 150 },
{ field: "ExpiryDate", title: "Expiry Date",
format: "{0:dd/MM/yyyy}", filterable: {
cell: {
template: function (args) {
args.element.kendoDatePicker({
format: "{0:dd/MM/yyyy}"
});
}
}}
, width: 150 }
]
});`
現時点ではこれはおそらく問題ではありません。将来的には、あなたが何が期待されるのかを指定すると助けになるでしょう。たとえば、ソートが機能していないと言うと、ソート順*が何であるべきか、そして実際に*何であるべきかを指定しておけば助けになりました。 – sfuqua