Foros del Web » Programando para Internet » ASPX (.net) »

[C#][Datagrid] ItemSelected.

Estas en el tema de [C#][Datagrid] ItemSelected. en el foro de ASPX (.net) en Foros del Web. Necesito cambiar la CssClass del elemento seleccionado. Si utilizo <ItemSelectedStyle> applica el CssClass al fila (Row) entonces hay ciertas cosas que no las reconoce como ...
  #1 (permalink)  
Antiguo 01/02/2006, 07:42
 
Fecha de Ingreso: febrero-2002
Mensajes: 20
Antigüedad: 22 años, 2 meses
Puntos: 0
[C#][Datagrid] ItemSelected.

Necesito cambiar la CssClass del elemento seleccionado. Si utilizo <ItemSelectedStyle> applica el CssClass al fila (Row) entonces hay ciertas cosas que no las reconoce como los bordes que es precisamente una de las cosas que me interesa.

Si lo hago por código básicamente es lo mismo. Me gustaria poder cambiar el estilo en cada una de las celdas o incluso de una sola...

Supongo que tendré que utilizar el evento Selecteditem pero en estos momentos estoy un poco atascado.

Ha alguien le ha surgido esta duda?
  #2 (permalink)  
Antiguo 01/02/2006, 12:15
Avatar de RootK
Moderador
 
Fecha de Ingreso: febrero-2002
Ubicación: México D.F
Mensajes: 8.004
Antigüedad: 22 años, 2 meses
Puntos: 50
Cita:
entonces hay ciertas cosas que no las reconoce como los bordes que es precisamente una de las cosas que me interesa.
Si no reconoce los bordes es porque está chocando con algun otro style.. porque lo mas normal para tu cssClass sería tener algo así:

Cita:
myStyle {
...
border-color:"color";
}
Ahora que si quieres personalizar las celdas puedes hacer uso del evento ItemDataBound y comparar las celdas..

algo así:

Cita:
private void DataGrid1_ItemDataBound(object sender, System.Web.UI.WebControls.DataGridItemEventArgs e) {

if(ListItemType.SelectedItem) {
for(int i=0;i<e.Item.Cells.Count;i++) {
e.Item.Cells[i].CssClass = "nombre";
//o bien
e.Item.Cells[i].BorderColor = Color."algun_color";
}
}
}
Salu2
__________________
Nadie roba nada ya que en la vida todo se paga . . .

Exentrit - Soluciones SharePoint & Net
  #3 (permalink)  
Antiguo 01/02/2006, 12:34
 
Fecha de Ingreso: febrero-2002
Mensajes: 20
Antigüedad: 22 años, 2 meses
Puntos: 0
Respecto a los border si aplico el estilo dentro del tag <ItemSelectedStyle> y luego veo el codigo dentro del navegador el estilo (por ejemplo grid_itemseleccionado) y lo aplica dentro del <TR class="grid_itemseleccionado"> y no tengo ningun otro estilo aplicado a tablas, celdas o filas...

Pero la idea que me has dicho es exactamente lo que queria. Lo único que creo recordar que hice algo así y luego no se porque no aplicaba el estilo al que tocaba. Lo probare y editare este post cuando vea que funciona.

Gracias.
  #4 (permalink)  
Antiguo 02/02/2006, 03:20
 
Fecha de Ingreso: febrero-2002
Mensajes: 20
Antigüedad: 22 años, 2 meses
Puntos: 0
He solucionado a medias el problema. Por partes.

El colocar en el evento ItemBound el código anterior no hace lo que yo quiero.

Al final he puesto la etiqueta <ItemSelectedStyle> y en la hoja de estilo defino

los borders que quiero. El problema es que en el IExplorer no me muestra los bordes ya que la clase se aplica al <tr>. En el Firefox solo me mostraba el borde de abajo y no el de arriba. He tenido que poner en el css algo como

tr
{
border:0px solid;
}

A partir de aqui me muestra el borde de arriba y el de abajo de la fila seleccionada.

Seguiré indagando...
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 09:12.