Я использую Kendo Grid с проектом Vue.Я использую нумерацию на стороне сервера.Первая страница прекрасно работает, показывая количество страниц, общее количество записей и первый набор строк, полученных с сервера.При нажатии на страницу 2 (или на страницу 3 и т. Д.) Сетка корректно корректирует URL-адрес и попадает на сервер.Я могу видеть возвращенные строки в событии сетки change (), но сетка не показывает извлеченные строки.Что я делаю неправильно?Нужно ли указывать сетке обновляться после события requestEnd ()?
Эта сетка определяется следующим образом:
<kendo-grid ref="gridComponent"
:data-source="quotes"
:auto-bind="true"
:selectable='true'
:sortable='true'
:resizable='true'
:pageable-page-size="pageSize"
:pageable-page-sizes='true'
:pageable-button-count='5'
:reorderable='true'
:no-records="noRecords"
v-on:databinding="onDataBinding"
v-on:databound="onDataBound"
v-on:change="rowSelected"
:sort="sortFilter">
Вот вычисленные определения "quotes" и "queryString".
computed: {
quotes: function () {
// eslint-disable-next-line
// return new kendo.data.DataSource({
// data: this.localDataSource
// })
let vue = this
// eslint-disable-next-line
return new kendo.data.DataSource({
transport: {
read: {
url: this.queryString,
beforeSend: function (xhr) {
// xhr.setRequestHeader('Access-Control-Allow-Origin', '*')
xhr.setRequestHeader('Authorization', Constants.AUTH_KEY)
},
type: 'GET',
dataType: 'json'
}
},
schema: {
total: function (response) {
let records = 0
if (response && response.length > 0) {
records = response[0].Count
}
return records
}
},
pageable: 'true',
pageSize: 10,
serverPaging: 'true',
// testing the change event handler
change: function (e) {
let data = this.data()
console.log(data)
},
requestStart: function () { vue.loading = true },
requestEnd: function () { vue.loading = false }
})
},
queryString () {
var me = this.$store.getters.user
var agentNumber = me.userName
var searchURLstring = `${Constants.SEARCH_URL}?AgentNumber=${agentNumber}`
if (this.currentPolicyNo) {
searchURLstring += `&QuoteNumber=${this.currentPolicyNo}`
}
if (this.currentInsuredName) {
searchURLstring += `&InsuredName=${this.currentInsuredName}`
}
if (this.currentAddr1) {
searchURLstring += `&Address=${this.currentAddr1}`
}
if (this.currentSortField) {
searchURLstring += `&sortField=${this.currentSortField}`
searchURLstring += `&sortDirection=${this.currentSortField}`
}
searchURLstring += `&SearchScope=${this.searchScope}`
return searchURLstring
}