1
我嘗試通過按鈕點擊獲取網格數據。 這是我的網格和按鈕:Aurelia-Kendo網格 - 如何通過按鈕點擊獲取數據
<ak-grid k-data-source.bind="datasource" view-model.ref="gridVM">
<ak-col k-title="Public Id" k-field="publicId"></ak-col>
<ak-col k-title="Payment Type" k-field="paymentType"></ak-col>
<ak-col k-title="Initiated" k-field="initiated"></ak-col>
<ak-col k-title="Completed" k-field="completed"></ak-col>
<ak-col k-title="Result" k-field="result"></ak-col>
<ak-col k-title="State" k-field="state"></ak-col>
<ak-col k-title="Total" k-field="total"></ak-col>
<ak-col k-title="User Reference" k-field="userReference"></ak-col>
</ak-grid>
<br />
<button ak-button="k-icon: ungroup; k-widget.bind: button" k-on-click.delegate="GetTransaction()">Get Transactions</button>
這是視圖模型文件(TS)
export class Test{
gridVM;
datasource;
GetTransaction() {
this.datasource = new kendo.data.DataSource({
type: "json",
transport: {
read: {
type: "POST",
contentType: "application/json; charset=utf-8",
url: "api/getTransaction"
},
parameterMap(data, operation) {
if (data.models) {
return JSON.stringify({ products: data.models });
} else if (operation === "read") {
return JSON.stringify(data);
}
}
},
schema: {
data: "data",
total: "total",
aggregates: "aggregates"
},
pageSize: 5
})
this.gridVM.recreate();
}
}
我通過點擊按鈕獲取數據,但只有在第二次點擊。在我看來,我從以前的請求中獲取數據。如果我更改pazeSize,我只能在第二次點擊後看到另一個記錄計數。
我已經檢查了我的網絡(用於調試),並且在第一次點擊後我沒有看到請求getTransaction,只有在第二次之後。
如何修復它並在第一次點擊按鈕後獲取正確的數據?
在此先感謝。
在這種情況下,我在頁面加載後立即獲取數據,但是我希望在點擊按鈕後獲取** ** **。 –
嘗試在您的網格包裝器上設置k-auto-bind.bind =「false」。 請參閱:http://docs.telerik.com/kendo-ui/api/javascript/ui/grid#configuration-autoBind –
非常抱歉,也許這是我的錯誤 - 我沒有描述完整的任務。該按鈕不需要一次性使用。我使用過濾器進行數據請求,因此,我應該有可能進行多次按鈕點擊。在構造函數情況下,我爲所有過濾字段獲取空值。我也改變了閱讀 - 是的,現在我看到成功的按鈕點擊(我可以看到在網絡中的請求)的反應,但過濾字段的值 - 空。 –