2016-08-22 2 views
0

Я завершил настройку сетки пользовательских интерфейсов кендо (версия angularJs) для моего веб-ави. Я включил разбивку на части страницы. Он отправляет параметры перехода, пропуска, страницы и страницы для каждого измененного запроса страницы.Как получить параметры изменения страницы сетки Kendo?

Здесь я хотел бы создать свою собственную модель поиска в api, привязать это значение к объекту JS и затем отправить данные на сервер.

Мне интересно, могу ли я получить значения для событий, связанных с сетками типа: изменение страницы, pageSize.

Моих полей данных для отправки: `

public class SearchModel 
{ 
    .... 
    ....... 
    public int PageNo { get; set; } 
    public int PageSize { get; set; } 
    public string SortOrder { get; set; } 
    public string SortColumn { get; set; } 
} 

Таким образом, эти указанные поля в стороне сервера должны быть заполнены. Для этого объект может быть создан в JS с этим идентичным полем, и значения должны быть заполнены из событий разбивки на сетку. Как и страница № и размер страницы.

Как это сделать, используя угловые js?

ответ

0

Как правило, вы добавляете свои значения в параметры источника данных kendo, используя конфигурацию dataSource.transport.read.data (http://docs.telerik.com/kendo-ui/api/javascript/data/datasource#configuration-transport.read.data) вместо того, чтобы извлекать параметры источника данных и добавлять свои.

Посмотрите на этот пример http://dojo.telerik.com/@Stephen/uXAjU. Это модифицированная демонстрация кендо-сетки для удаленного связывания данных.

Я просто добавил read.data CONFIG конфигурацию DataSource в области транспорта:

transport: { 
    read: { 
     url: "//demos.telerik.com/kendo-ui/service/Northwind.svc/Orders", 
     data: customData 
    } 
} 

где CustomData есть (это, где вы бы добавить параметры от поиска модели):

function customData() { 
    return { 
     custom1: 1, 
     custom2: "Two", 
     custom3: new Date() 
    }; 
} 

Теперь всякий раз, когда сетка запрашивает удаленный сервис, он передает параметры, созданные в функциональных возможностях источника данных, например параметры подкачки/фильтрация/группирование, в дополнение к данным, возвращаемым вашим пользовательским методом transport.read.data. Посмотрите на вкладку сети инструментов разработчика, чтобы увидеть, что customData добавляется к запросу чтения сетки/источника данных.

+0

@Stephen вы можете увидеть обновленный вопрос еще раз. отправка пользовательских данных не является моей проблемой, но заполнение номера страницы и размера страницы при использовании kendogrid с угловым js. –

0

проверьте это.

var grid = $('#test_grid').data('kendoGrid'); 
var pager = grid.pager; 
pager.bind('change', test_pagechange); 

function test_pagechange(e){ 
    console.log(e); 
} 

Также вы можете попробовать это

DataBound событие вызывается при изменении страницы. Вы можете получить текущий индекс страницы с помощью метода page() для источника данных grid.

$("#grid").data("kendoGrid").dataSource.page(); 

Также смотрите в документации http://docs.telerik.com/kendo-ui/api/javascript/ui/pager#events-change