第2行的.selectRow()不起作用:
$scope.gridOptions.data = MyResource.query();
$scope.gridApi.selection.selectRow( $scope.gridOptions.data[0] ); // Select first row
我猜它不起作用,因为网格还没有完成刷新,或者甚至还没有开始刷新,因为它仍在等待来自MyResource.query()
的数据
以下情况也不起作用,我不明白为什么:
$scope.gridApi.grid.modifyRows(MyResource.query());
$scope.gridApi.selection.selectRow( $scope.gridOptions.data[0] ); // Select first row
究竟出了什么问题?提前谢谢。
答案 0 :(得分:0)
尝试使用$ scope.gridApi.grid.modifyRows($ scope.gridOptions.data);
答案 1 :(得分:0)
我不确定你是否已经解决了这个问题,但我认为问题在于你试图在那之前选择行。您可以分两步完成此操作。首先加载数据,然后在完成后广播事件,然后在收听广播时获取行。 所以第1步就是这样的事情:
const XLSX = require('xlsx');
const fs = require('fs');
const stream = fs.createReadStream('sample.xlsx');
// This function returns Error: Unsupported file 48
documentedExample = function(){
var arr = new Array();
stream.on('data', function( arraybuffer ){
var data = new Uint8Array(arraybuffer);
for(var i = 0; i != data.length; ++i) arr[i] = String.fromCharCode(data[i]);
});
stream.on('end', function(){
var bstr = arr.join("");
var workbook = XLSX.read(bstr, {type:"binary"});
});
}
// This function returns Error: End of data reached (data length = 75589, asked index = 77632). Corrupted zip ?
alternateExample = function(){
var bufferArray = [];
stream.on('data', function( thisChunk ){
bufferArray.push( thisChunk );
});
stream.on('end', function(){
var excelDataBuffer = bufferArray.join("");
excelDataBuffer = excelDataBuffer.toString();
var workbook = XLSX.read(excelDataBuffer, {type:"binary"});
});
}
然后听广播:
$scope.gridOptions.data = MyResource.query();
$rootScope.$broadcast('data_loaded', $scope.gridOptions.data);
我希望它有所帮助。