How to get all selected records from a table
Hi,
I have a table with 200 records with 'allowPaging: true', and added a checkbox column. When I select the header column's checkbox, it is supposed to be selected all records (200).In fact, I can see selected all of them when I change of page. However, when I set 'selectedRecords' as you can see below (I'm using 'Angular'), it just contains the records yor are seeing on the table's page (10 o 11 ) although all the table's records are selected (200).
var datosGrid = angular.element("#gridConsulta").data("ejGrid");
selectedRecords=datosGrid.model.selectedRecords;
Could you help me about how I could set 'selectedRecords' the all selected records of the table.
Thank you very much
Regards,
Daniel Pujante
SIGN IN To post a reply.
1 Reply
TS
Thavasianand Sankaranarayanan
Syncfusion Team
May 3, 2017 04:07 PM UTC
Hi Daniel,
Thanks for contacting Syncfusion support.
Query: Get all the selected rows across all pages.
We have analyzed your query and we suspect that you want to get all the selected record across all the pages. But in our getSelectedRecords() method, we have only get selected record from the current page this is the behavior of ejGrid.
We have achieved your requirement using the below work around. So, please refer the below code example.
|
<body ng-controller="PhoneListCtrl">
<a rel='nofollow' href="#" ng-click="clik()" title="View the uploaded rate data.">
<button>click</button>
</a>
<div class="content-container-fluid">
<div class="row">
<div class="cols-sample-area">
<div id="Grid" ej-grid e-datasource="data" e-allowpaging="true">
<div e-columns>
<div e-column e-type="checkbox"></div>
------------
</div>
</div>
</div>
</div>
</div>
<script>
var obj = [
-----------------
];
angular.module('listCtrl', ['ejangular'])
.controller('PhoneListCtrl', function ($scope) {
$scope.data = obj;
$scope.clik = function () {
var gridObj = $("#Grid").ejGrid('instance');
var selectedrecordIndex = gridObj.checkSelectedRowsIndexes; //Get the selected row index across all page wise
var selectedRecord = [];
for (var i = 0; i < selectedrecordIndex.length ; i++) {
if (ej.isNullOrUndefined(selectedrecordIndex[i]))
continue;
else {
for (var j = 0; j < selectedrecordIndex[i].length; j++) {
var index = selectedrecordIndex[i][j] + (i * gridObj.model.pageSettings.pageSize); //Calculate the index for retrieve those data in the data source
selectedRecord.push(gridObj.model.dataSource[index]); // push the selected record from the data source.
}
}
}
}
});
</script>
</body> |
We have prepared a sample in the JsPlayground
Sample Link: http://jsplayground.syncfusion.com/la3oundx
Regards,
Thavasianand S.
SIGN IN To post a reply.
- 1 Reply
- 2 Participants
-
DP Daniel Pujante
- May 2, 2017 10:54 AM UTC
- May 3, 2017 04:07 PM UTC