SoloCodigo

CLR: .Net / Mono / Boo / Otros CLR => ASP .NET => Mensaje iniciado por: glauca en Viernes 10 de Junio de 2005, 14:08

Título: Tablas Asp
Publicado por: glauca en Viernes 10 de Junio de 2005, 14:08
Hola :hola:

Quería preguntar una duda sobre la utilización de tablas asp.

estoy haciendo una página asp donde tengo una tabla, además de otras cosas.
En esta tabla (cuyas celdas no tienen evento click), necesito que si hago click en una celda, la fila a la que pertenece se seleccione.

buscando por foros y tal he encontrado la opción de añadir atributos a la tabla, para añadirle el evento onclick.

yo he hecho lo siguiente:

En el evento Page_load de mi página aspx.vb he puesto la siguiente linea:

me.table1.rows(1).Attributes.Add("onclick", "seleccionar()")

Y después, he creado una función seleccionar():

private function seleccionar()

me.table1.rows(1).BackColor = Color.Aqua

end Function


Pero no funciona, no da ningún error, pero no hace nada si hago click en la tabla.

Sin embargo si pongo

me.table1.rows(1).Attributes.Add("onclick", "alert('hola')")

Sí que saca el messagebox con "hola".

No entiendo lo que pasa, igual es que el método que pongo como segundo string ha de estar en javascript y no en vb.

No se, si alguien puede ayudarme, porque llevo tiempo buscando y no encuentro nada...

Muchas gracias.

glauca
Título: Re: Tablas Asp
Publicado por: Güorker en Viernes 10 de Junio de 2005, 14:21
Hola,

Estas en lo cierto, cuando pones el atributo onclick, le estas diciendo que llame a una fiuncion javascript.

Deberias hacer una funcion javascrip que realice lo que deseas.

Suerte
Título: Re: Tablas Asp
Publicado por: glauca en Lunes 13 de Junio de 2005, 10:40
Lo suponía...  :(

Ahora el problema esta en que no se hasta qué punto puedo poner una función javascript sobre un control asp.

Resumiendo, que no se qué código poner en el script, porque he probado varias opciones, pero o bien me da error o bien no hace nada.

Por ejemplo:

he puesto en el código html

<script language=javascript>
function seleccionar(fila){
window.TableAsp.Rows(fila).BackColor = "Yellow";
}
</script>


Y luego, en el código asp pongo en el page-load

me.TableAsp.Rows(0).Attributes.Add("onclick", "seleccionar(0)")


Pues bien, cuando hago click en la página me dice que el objeto no permite la acción.

O bien que el objeto TableAsp.Rows es nulo o no es un objeto...

Y cuando no sale el error, no hace nada..... :angry:
No se que hago mal..!!
Título: Re: Tablas Asp
Publicado por: Güorker en Lunes 13 de Junio de 2005, 14:57
Hola,

lo que pasa que en el modelo de objetos de JavasCript no puedes acceder a una fila de una tabla de esa manera.

Prueba con identificar cada fila de la tabla con un id y despues acceder a esa fila mediante javascript utilizando el id.

Por ejemplo las filas la puedes identificar así:

Código: Text
  1.  
  2. &#60;table&#62;
  3.   &#60;tr id=&#34;tr1&#34;&#62;
  4.   ...
  5.   &#60;tr id=&#34;tr2&#34;&#62;
  6.   ...
  7.  
  8.  

Y despues desde javascript intentas hacer lo siguiente:
Código: Text
  1.  
  2. function seleccionar(fila)
  3. {
  4.   var nombreFila = &#34;tr&#34; + fila;
  5.   eval(nombreFila).bgcolor = &#34;yellow&#34;;
  6. }
  7.  
  8.  

no te aseguro que funcione, pero por ahí pueden ir los tiros.

Saludos y suerte