Foros del Web » Programando para Internet » Javascript »

Copiar filas entre tablas

Estas en el tema de Copiar filas entre tablas en el foro de Javascript en Foros del Web. Estimados, Necesito cambiar filas entre 2 tablas distintas, esto es pasar los datos desde una tabla a la otra. el código que uso es el ...
  #1 (permalink)  
Antiguo 15/11/2007, 08:56
 
Fecha de Ingreso: agosto-2004
Mensajes: 131
Antigüedad: 19 años, 8 meses
Puntos: 2
Copiar filas entre tablas

Estimados,

Necesito cambiar filas entre 2 tablas distintas, esto es pasar los datos desde una tabla a la otra.

el código que uso es el siguiente:

Código:
var tblDest = document.getElementById(tblDestino);
var tblOrg = document.getElementById(tblOrigen);
				
var fila = tblDest.insertRow(cont_filas);
fila.style.color = "#003366";
fila.onmouseover = function() {
this.style.background = '#FBFFCC';
}
fila.onmouseout = function() {
this.style.background = bgColor;
}
fila.style.backgroundColor = bgColor;
				
for ( cel=0;cel<=cols; cel++ ) {
var celda = fila.insertCell(cel);
celda.innerHTML = tblOrg.cells[cel].innerHTML;
}
Con la variable cols controlo la cantidad de columnas (celdas) a pasar desde una tabla a otra, el problema es que no sé cómo acceder al contenido de las celdas, el siguiente código genera error por evidentemente no es correcto:

celda.innerHTML = tblOrg.cells[cel].innerHTML;

y ese es el punto en el que necesito ayuda, si me podrian orientar en cómo acceder al contenido de la celda les estaria muy agradecido.

Saludos y gracias de antemano,

Rodrigo
  #2 (permalink)  
Antiguo 15/11/2007, 10:09
Avatar de JavierB
Colaborador
 
Fecha de Ingreso: febrero-2002
Ubicación: Madrid
Mensajes: 25.052
Antigüedad: 22 años, 2 meses
Puntos: 772
Re: Copiar filas entre tablas

Hola rProgged

Mira este código, a ver si lo puedes adaptar a tus necesidades:

http://www.telefonica.net/web2/blas-mar/moverfilas.html

Saludos,
  #3 (permalink)  
Antiguo 15/11/2007, 12:33
 
Fecha de Ingreso: agosto-2004
Mensajes: 131
Antigüedad: 19 años, 8 meses
Puntos: 2
Re: Copiar filas entre tablas

Hola JavierB,

El código me ha ido de maravillas, salvo un detalle...mira, mi idea es una tabla con alumnos que serán asignados a un grupo, cada fila tiene un checkbox, así seleccionas todos los checkbox de las filas que quieras pasar y luego presionas un botón y listo, en ambas direcciones: desde los alumnos al grupo y desde el grupo a los alumnos. Pasar las filas resulta bien salvo que siempre pasa sólo 1 fila , y no todas las seleccionadas. El código que uso es el siguiente:

Código:
function cambiarFila( formOrigen, tblOrigen, tblDestino, bgColor ) {
var cont = 0;
for ( i=0; i<formOrigen.elements.length; i++ ) {
//primero reviso que se haya seleccionado un registro
if ( formOrigen.elements[i].type == "checkbox" && formOrigen.elements[i].checked == true ) {
var tblDestino = document.getElementById(tblDestino);
var tblOrigen = document.getElementById(tblOrigen);
				
var filas = tblOrigen.getElementsByTagName('tr');
var fila = formOrigen.elements[i].parentNode.parentNode; // para llegar al tr que contiene al td que contiene al checkbox =)
						
var h = 0;
while ( ele = tblOrigen.getElementsByTagName('tr')[h] ) {
if (ele == fila){ numFila=h;}
h++;
}
		
var copia = filas[numFila].cloneNode(true);
//quito la fila de la tabla de origen
tblOrigen.deleteRow(numFila);
//inserto la fila en la tabla de destino
tblDestino.appendChild(copia);
cont++;
}
}
if ( cont == 0 ) {
alert("Debe seleccionar al menos un registro");
}
}
La verdad no tengo idea por qué pueda estar pasando esto, en el código no veo nada que influya en la ejecución del ciclo for. Quizás tengas alguna idea que me pueda ayudar.

Una vez más, muchas gracias por la ayuda.

Saludos,

Rodrigo
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 21:47.