JavaScript - generar cambios de estado en una columna ui.ngGrid.

   
Vista:

generar cambios de estado en una columna ui.ngGrid.

Publicado por sabi (1 intervención) el 28/07/2015 00:18:58
Hola, tengo como fin crear una tabla con ui.ngGrid la cuál tendrá dos columnas, una de estado y otra de roll por decirlo así. El contenido de la bd se refleja en la columna roll y en estado debo reflejar lo siguiente:
con el símbolo " > " hago saber que el campo de Roll no ha sido modificado.
con el símbolo " >* " el campo Roll ha sido modificado.
1
2
3
4
5
6
7
8
9
10
11
//Tengo el data igualado a vacio porque importo un documento csv el cuál almaceno en el array
 $scope.data = [];
$scope.gridOptions = {
	    columnDefs: [{name:'estado',displayName:' ',width:45},{name: 'Roll'}],
		exporterMenuPdf: false,
	    enableGridMenu: true,
	    importerDataAddCallback: function( grid, newObjects ) {
	      $scope.data = $scope.data.concat( newObjects );
	    },
	    data: 'data'
};
Para saber cuándo el campo ha sido modificado uso el oldValue y newValue
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
$scope.gridOptions.onRegisterApi= function(gridApi){
$scope.gridApi = gridApi;
gridApi.rowEdit.on.saveRow($scope, $scope.saveRow);
gridApi.edit.on.afterCellEdit($scope,function(rowEntity, colDef, newValue, oldValue){
//Hago un recorrido por el array data y pongo el condicional si el nuevo valor del campo roll es  diferente del valor //anterior del campo roll entonces cambie el sinbolo, sino deje el simbolo como estaba.
            for(i=0; i < $scope.data.length; i++) {
	           if(oldValue != newValue){
	            	$scope.estado = '> *';
	            }else{
	            	$scope.estado = '>';
	            }
                   //le digo que en el array data, en la col estado en posisicon [i] la haga igual al $scope.estado
                   $scope.data.estado[i]=$scope.estado;
	       };
 
 
	            $scope.$apply();
 
	         });
 };

pero no tengo idea de por qué no me funciona me sale el siguiente error:
TypeError: Cannot set property '0' of undefined

no se que hago mal. Puedes sugerirme algo?
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder
Imágen de perfil de Vainas

generar cambios de estado en una columna ui.ngGrid.

Publicado por Vainas (239 intervenciones) el 29/07/2015 08:50:54
Buenas:

Soy un poco nuevo en angularjs. Prueba con esto, que por lo que he visto debe ser asi:

1
$scope.gridOptions1.data[i].estado = $scope.estado;

Saludos.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar