"marcar" una celda del datagrid

harielo
15 de Septiembre del 2005
es eso, necesito indicar (por ejemplo: cambiandole el color de fondo, o el color de letra..) la celda q contiene el menor valor de la fila.
como puedo hacerlo? gracias.

dsp
15 de Septiembre del 2005
Es muy sencillo, crea una etiqueta con su propiedad visible=false dale el formato que tu quieras (backcolor, forecolor, font, etc...)recorre el grid con sentencias:
dim i as integer
dim j as integer
dim valormenor as single

for i=1 to grid.cols
for j=1 to grid.rows
if csng(grid.textmatrix(i,j) then
valormenor=csng(grid.textmatrix(i,j)
label.left=grid.cellleft + grid.left
label.top=grid.celltop+grid.top
label.width=grid.cellwidth
label.height=grid.cellheight
label.visible=true
end if
next j
next i

tienes que tener en cuenta los tipos de datos que pones, en este ejemplo los datos que contiene la matriz son de tipo single, por eso la conversión csng() si son de otro tipo pues ya sabes.
Otra observación: Con este código, si hay dos valores mínimos iguales este solo localizará el primero que encuentre, si quieres que te marque todos hay otra solución que te explicaré en otra ocasión.

OJO: no lo he probado, puede que haya alguna errata, pero en esencia ya sabes lo que hay que hacer.

Espero que te sirva de ayuda
Un Saludo
DSP

dsp
15 de Septiembre del 2005
PD:
Perdona la tercera linea es así:
if csng(grid.textmatrix(i,j))<valor then

harielo
15 de Septiembre del 2005
muchas gracias, si me sale te cuento ..si? por ahora no se q es grid.textmatrix pero igual la idea la tengo. el asunto es q voy a necesitar crear etiquetas en forma dinamica (la cantidad de filas son variables) y cuando se vuelva a editar la fila.. tendre (creo) q sacar la etiqueta de la celda para q escriban sobre ella.
a ver si sale.. de nuevo: muchas gracias