常に選択された最初の行のUIグリッドを設定する方法内側onRegisterApi
または内側フィルタ機能
$scope.filter = function() {
$scope.gridApi.grid.refresh();
$scope.gridApi.selection.selectRow($scope.gridOptions.data[0]);
}
$scope.singleFilter = function(renderableRows){
var matcher = new RegExp($scope.filterValue);
renderableRows.forEach(function(row) {
var match = false;
[
// 'id',
// 'study.name',
'title',
'occuredDate',
// 'eventType.name',
'description',
'createdDate' ,
// 'priority.name',
'severity.name',
'status.name',
'createdDate'
].forEach(function(field){
if (field.indexOf('.') !== '-1') {
field = field.split('.');
}
if (row.entity.hasOwnProperty(field) && row.entity[field].match(matcher) || field.length === 2 && row.entity[field[0]][field[1]].match(matcher)){
match = true;
}
});
if (!match){
row.visible = false;
}
});
return renderableRows;
};
何も役立ちません。私は最初の行を選択する必要がありますが、私は列のフィルタを介してデータをフィルタリングしている場合でも、または単一のフィルタを使用しています。それはuiグリッドで可能ですか?
plunkerが てみてください動作していない:最初のレコードは、常に表示され、右復帰する前に、フィルタ関数に行
renderableRows[0].visible = true;
を追加する必要がありますデバッグする場合 if(row.entity.hasOwnProperty(field)&& row.entity [field] .match(matcher)|| field.length === 2 && row.entity [field [0]] [field [1] ] .match(matcher)){ マットch = true; } 本当ですか? – Vitalii
@Vitaliiもう一度チェックしてください、plunkerは私のためにうまく動作します – Anton