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

Colorear Renglones

Estas en el tema de Colorear Renglones en el foro de .NET en Foros del Web. Como puedo colorear los renglones de un datagrid dependiendo del valor de una de sus columnas?...
  #1 (permalink)  
Antiguo 05/05/2006, 10:33
 
Fecha de Ingreso: febrero-2006
Mensajes: 5
Antigüedad: 18 años, 3 meses
Puntos: 0
Colorear Renglones

Como puedo colorear los renglones de un datagrid dependiendo del valor de una de sus columnas?
  #2 (permalink)  
Antiguo 05/05/2006, 18:06
 
Fecha de Ingreso: septiembre-2005
Mensajes: 73
Antigüedad: 18 años, 7 meses
Puntos: 0
De acuerdo Colorear Renglones

Básicamente debes hacer una clase que en la que puedas modificar los TextBoxColumn.

Hace tiempo yo lo hice.. te paso un buen link para empezar:

http://syncfusion.com/FAQ/WindowsFor...44c.aspx#q745q

Había muchos ejemplos sobre ésto. También encontré un ejemplo muy interesante en microsoft, pero no recuerdo la dirección.

Pos si deseas buscarle un poco mas.
__________________
Henry :-D
  #3 (permalink)  
Antiguo 06/05/2006, 08:56
Avatar de sagma  
Fecha de Ingreso: septiembre-2004
Ubicación: Santa Cruz de la Sierra - Bolivia
Mensajes: 136
Antigüedad: 19 años, 7 meses
Puntos: 1
colorear un renglon en el DG

Hola amigo como estas, yo tambien buscaba lo mismo, y encontre esto en la web. espero te sirva.

Código:
prueba a utilizar un estilo aplicado al datagrid· en primer lugar debes
crear un objeto datagridtablestyle y tantos objetos datagridtextboxcolumn
como columnas quieras mostrar en el grid‚ excepto en la columna a la que
quieres aplicar un color en base a una condición· para esta columna creas una
clase que herede de datagridtextboxcolumn y reemplazas el método paint()‚
añadiendo el código personalizado que modifique el color de fondo cuando se
cumpla la condición· te adjunto un ejemplo de código para que puedas probarlo
y hacer las modificaciones para tu caso:

'/////////////////////////////////////////////////
public class form1
inherits system.windows.forms.form

private sub form1_load(byval sender as system.object‚ byval e as
system.eventargs) handles mybase.load
dim oconnection as sqlconnection
dim odataadapter as sqldataadapter
dim odataset as dataset

oconnection = new
sqlconnection("server=localhost;database=northwind;uid=sa;pwd=")
odataadapter = new sqldataadapter("select
productid‚productname‚supplierid from products"‚ oconnection)
odataset = new dataset

oconnection.open()
odataadapter.fill(odataset‚ “products")
oconnection.close()

me.datagrid1.datasource = odataset
me.datagrid1.datamember = “products"

dim otablestyle as new datagridtablestyle
otablestyle.mappingname = “products"

dim oproductid as new datagridtextboxcolumn
oproductid.mappingname = “productid"
oproductid.headertext = “código"
oproductid.alignment = horizontalalignment.center

dim oproductname as new datagridtextboxcolumn
oproductname.mappingname = “productname"
oproductname.headertext = “nombre"

dim osupplierid as new dgtxtcolcolor
osupplierid.mappingname = “supplierid"
osupplierid.headertext = “proveedor"

otablestyle.gridcolumnstyles.addrange(new datagridcolumnstyle() _
{oproductid‚ oproductname‚ osupplierid})

me.datagrid1.tablestyles.add(otablestyle)
end sub
end class

'–––––––––––––––––––––––––––––––––
public class dgtxtcolcolor
inherits datagridtextboxcolumn

protected overloads overrides sub paint(byval g as
system.drawing.graphics‚ _
byval bounds as system.drawing.rectangle‚ _
byval source as system.windows.forms.currencymanager‚ _
byval rownum as integer‚ _
byval backbrush as system.drawing.brush‚ _
byval forebrush as system.drawing.brush‚ _
byval aligntoright as boolean)

dim obrush as solidbrush
dim ofiladatos as datarowview = source.list(rownum)

if ofiladatos("supplierid") = 3 then
obrush = new solidbrush(color.aquamarine)
else
obrush = backbrush
end if

mybase.paint(g‚ bounds‚ source‚ rownum‚ _
obrush‚ _
forebrush‚ _
aligntoright)
end sub
end class
'/////////////////////////////////////////////////

observa que para la columna del campo supplierid usamos en el datagrid una
clase propia‚ y en su evento paint() comprobamos el valor de dicho campo‚
cuando sea 3‚ le aplicamos un color de fondo distinto·

espero que te sea de utilidad·
__________________
Sagma -- :arriba:
  #4 (permalink)  
Antiguo 08/05/2006, 06:23
Avatar de freegirl
Colaborador
 
Fecha de Ingreso: octubre-2003
Ubicación: Catalonia
Mensajes: 4.334
Antigüedad: 20 años, 7 meses
Puntos: 156
http://www.elguille.info/colabora/NE...arDatagrid.htm


saludos!
  #5 (permalink)  
Antiguo 08/05/2006, 14:53
 
Fecha de Ingreso: febrero-2006
Mensajes: 5
Antigüedad: 18 años, 3 meses
Puntos: 0
Gracias

ok, muchas gracias a todos......
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 01:47.