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 –
非常抱歉,也许这是我的错误 - 我没有描述完整的任务。该按钮不需要一次性使用。我使用过滤器进行数据请求,因此,我应该有可能进行多次按钮点击。在构造函数情况下,我为所有过滤字段获取空值。我也改变了阅读 - 是的,现在我看到成功的按钮点击(我可以看到在网络中的请求)的反应,但过滤字段的值 - 空。 –