Я реализую удаленную фильтрацию на сетках в моем приложении ExtJS MVC. Клиент отправляет сериализованный фильтр на сервер правильно, но, к сожалению, на стороне сервера я не могу определить, какой тип данных является фильтром. Я в настоящее время получает данные JSON в этом формате:Удаленная фильтрация ExtJS - определение типа данных фильтра на стороне сервера
[{\"operator\":\"gt\",\"value\":1412114400000,\"property\":\"ExpirationDate\"}]
Я хотел бы иметь еще одно поле отчетов типа данных в этом формате JSON, например:
[{\"operator\":\"gt\",\"value\":1412114400000,\"property\":\"ExpirationDate\",\"dataType\":\"date\""}]
Это модель
Ext.define('CGovAuthWeb.model.UtenteModel', {
extend: 'Ext.data.Model',
fields: [
{ name: 'ID' },
{ name: 'Userid '},
{ name: 'UserName'},
{ name: 'Password'},
{ name: 'Email'},
{ name: 'Comment'},
{ name: 'IsApproved'},
{ name: 'IsLockedOut'},
{ name: 'IsOnline'},
{ name: 'ExpirationDate'},
{ name: 'LastActivityDate' },
{ name: 'CreationDate'},
{ name: 'LastLockoutDate'},
{ name: 'LastLoginDate'},
{ name: 'LastPasswordChangedDate' },
{ name: 'BloccatoChanged', defaultValue : true}
],
idProperty: 'ID'
});
магазин выглядит следующим образом:
Ext.define('CGovAuthWeb.store.UtenteStore', {
extend: 'Ext.data.Store',
autoSync: false,
remoteFilter: true,
remoteSort: true,
requires: ['CGovAuthWeb.model.UtenteModel'],
model: 'CGovAuthWeb.model.UtenteModel',
storeId: 'Utente',
pageSize: 15,
proxy: {
type: 'rest',
url: 'api/utente',
reader: {
type: 'json',
rootProperty: 'Results',
messageProperty: 'Message',
totalProperty: 'Total',
idProperty: 'ID',
successProperty: 'Success'
},
writer: {
type: 'json',
writeAllFields: true
}
}
});
Следующий фрагмент кода является столбец в GridPanel:
{
flex: 2,
header: 'Scadenza',
dataIndex: 'ExpirationDate',
editor: {
xtype: 'datefield',
allowBlank: true,
format: 'd/m/Y',
},
filter: {
type: 'date'
}
},
Любое предложение действительно ценится.