如何将数据加载到 ag-grid 中的 rowData?
How to load data in to rowData in ag-grid?
我的 html-class 中有以下代码:
<ag-grid-aurelia #agGrid class="ag-theme-balham" style="width: 100%; height: 350px;" #agGrid grid-ready.call="onGridReady()"
grid-options.bind="filesThatAreMalwareOptions">
<ag-grid-column header-name="date" field="date" width.bind="300"></ag-grid-column>
<ag-grid-column header-name="fileHash" field="fileHash" width.bind="300"></ag-grid-column>
<ag-grid-column header-name="fileName" field="fileName" width.bind="300"></ag-grid-column>
<ag-grid-column header-name="fileSize" field="fileSize" width.bind="300"></ag-grid-column>
<ag-grid-column header-name="mimeType" field="mimeType" width.bind="300"></ag-grid-column>
<ag-grid-column header-name="Malware" field="Malware" width.bind="300"></ag-grid-column>
<ag-grid-column header-name="Virustotal-Link" field="Virustotal-Link" width.bind="300"></ag-grid-column>
</ag-grid-aurelia>
以及我的 TypeScript 中的以下代码-class:
filesThatAreMalwareOptions:GridOptions = {
rowData: []
};
getValueFromRequest(queryEndpoint){
this.http
.fetch(queryEndpoint, {
mode: "cors"
})
.then(result => result.json()
).then(body => {
if (queryEndpoint == "TestFileData"){
this.filesThatAreMalwareOptions.rowData = JSON.parse(body);
}
});
如果我想从我的服务端点加载数据,则网格显示 "No rows to show"。如果我将 rowData 硬编码为:
filesThatAreMalwareOptions:GridOptions = {
rowData: [ {date: '02.04.1990', fileHash: 'X', fileName: 'X', fileSize: 3245, mimeType: 'PDF'}]
};
数据显示在网格中。从服务加载数据的问题在哪里?
您需要使用 api 调用,而不是直接设置 属性 行数据:
this.filesThatAreMalwareOptions.api.setRowData(JSON.parse(body));
参见 api 参考资料:
https://www.ag-grid.com/javascript-grid-api/
我的 html-class 中有以下代码:
<ag-grid-aurelia #agGrid class="ag-theme-balham" style="width: 100%; height: 350px;" #agGrid grid-ready.call="onGridReady()"
grid-options.bind="filesThatAreMalwareOptions">
<ag-grid-column header-name="date" field="date" width.bind="300"></ag-grid-column>
<ag-grid-column header-name="fileHash" field="fileHash" width.bind="300"></ag-grid-column>
<ag-grid-column header-name="fileName" field="fileName" width.bind="300"></ag-grid-column>
<ag-grid-column header-name="fileSize" field="fileSize" width.bind="300"></ag-grid-column>
<ag-grid-column header-name="mimeType" field="mimeType" width.bind="300"></ag-grid-column>
<ag-grid-column header-name="Malware" field="Malware" width.bind="300"></ag-grid-column>
<ag-grid-column header-name="Virustotal-Link" field="Virustotal-Link" width.bind="300"></ag-grid-column>
</ag-grid-aurelia>
以及我的 TypeScript 中的以下代码-class:
filesThatAreMalwareOptions:GridOptions = {
rowData: []
};
getValueFromRequest(queryEndpoint){
this.http
.fetch(queryEndpoint, {
mode: "cors"
})
.then(result => result.json()
).then(body => {
if (queryEndpoint == "TestFileData"){
this.filesThatAreMalwareOptions.rowData = JSON.parse(body);
}
});
如果我想从我的服务端点加载数据,则网格显示 "No rows to show"。如果我将 rowData 硬编码为:
filesThatAreMalwareOptions:GridOptions = {
rowData: [ {date: '02.04.1990', fileHash: 'X', fileName: 'X', fileSize: 3245, mimeType: 'PDF'}]
};
数据显示在网格中。从服务加载数据的问题在哪里?
您需要使用 api 调用,而不是直接设置 属性 行数据:
this.filesThatAreMalwareOptions.api.setRowData(JSON.parse(body));
参见 api 参考资料: https://www.ag-grid.com/javascript-grid-api/