Foros del Web » Programación para mayores de 30 ;) » .NET »

Ayuda ASP C# GridView con Estilos dinamicos

Estas en el tema de Ayuda ASP C# GridView con Estilos dinamicos en el foro de .NET en Foros del Web. Buen día a todos, mi duda es la siguiente: Tengo una tabla elaborada con GridView donde se cargan dinamicamente los campos a través de una ...
  #1 (permalink)  
Antiguo 04/10/2010, 12:19
Avatar de MagnusAlexander  
Fecha de Ingreso: octubre-2010
Mensajes: 1
Antigüedad: 13 años, 6 meses
Puntos: 0
Ayuda ASP C# GridView con Estilos dinamicos

Buen día a todos, mi duda es la siguiente:
Tengo una tabla elaborada con GridView donde se cargan dinamicamente los campos a través de una lista generada dinamicamente. pero tengo que hacer que la primer celda de cada fila que contiene el numero ponga un fondo de celda de cierto color que se obtiene de la lista que rellena la tabla, leyendo en internet encontre que podia usar un control literal para inyectar una celda mas antes del nombre pero el problema es que al momento que se ejecuta el programa se generan dos celdas mas y esto es porque una de las celdas es por el control literal y la segunda es por el codigo inyectado, ahorita muestro imagenes. Si a alguien se le ocurre una sugerencia para mi problema se lo agradecere mucho:

el codigo en la pagina ASPX es:
Cita:

<asp:GridView ID="dgProductos" runat="server" DataKeyNames="Clave" AutoGenerateColumns="False" EnableViewState="False" OnRowCreated="dgProductos_RowCreated">
<Columns>
<asp:TemplateField>
<%--<asp:Literal ID="MuestraColor" runat="server"></asp:Literal>--%>
<%--<HeaderTemplate>
<td></td>

</HeaderTemplate>--%>
<ItemTemplate>
<asp:Literal ID="MuestraColor" runat="server"></asp:Literal>
</ItemTemplate>
</asp:TemplateField>
<asp:HyperLinkField DataTextField="Clave" DataTextFormatString="{0}" DataNavigateUrlFields="Clave" DataNavigateUrlFormatString="Altas.aspx?id={0}" HeaderText="ID"/>
<asp:BoundField DataField="NombreProducto" HeaderText="Nombre" />
<asp:TemplateField HeaderText="Fecha de Registro">
<ItemTemplate>
<%#this.fechaCorta(Eval("FechaRegistro"))%>
</ItemTemplate>
</asp:TemplateField>
...
Y el codigo con el que inyecto la celda es este:

Cita:
protected void dgProductos_RowCreated(object sender, GridViewRowEventArgs e)
{
if (e.Row.RowType == DataControlRowType.DataRow)
{
Literal output = (Literal)e.Row.FindControl("MuestraColor");
output.Text = string.Format("<td style=\"background: url(images/bggreen.jpg) repeat-y right\">");
}
}
Espero haberme dado a entender, les muestro lo que el codigo de arriba genera:



como ven, me general la columna que tiene la celda con el color de fondo y ademas la columna del control literal, quiero esconder esta ultima o bien encontrar un metodo para cambiarle dinamicamente el color de fondo a la primer celda que viene a ser el ID

Etiquetas: asp, dinamicos, estilos, gridview
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:10.