Datagrid: TableStyles y ColumnStyles

28/06/2004 - 10:06 por HOZE\(SMM\) | Informe spam
Hola a todos.

Tengo 1 datagrid en el que voy a mostrar datos cruzados, y quiero que x
columnas me aparezcan con el mismo estilo que la barra de títulos, o sea,
que necesito representar al mismo tiempo dos estilos de columnas en el grid.
Investigando he intentado tener dos TableStyle en el mismo datagrid, pero o
se representa 1 u otro y no he sido capaz de mostrar los dos a la
vez. He estado estudiando los columnstyles, pero no he encontrado la manera
de definir un color en un columnstyle.

Además estoy empleando una sobrecarga de DataGridTextBoxColumn para
evitar que el usuario pueda seleccionar el texto de la celda y intentando
basarme en esta clase tampoco puedo trabajar como yo quiero.

Me temo que la única solución que tengo es emplear dos datagrids con
distintos TableStyles :-(

¿No se os ocurre ninguna otra alternativa?


Gracias

Preguntas similare

Leer las respuestas

#1 José Cordero
28/06/2004 - 10:53 | Informe spam
Hola, no entendi bien tu problema. Pero si lo que quieres es poder definir
colores en las columnas y has heredado de DataGridTextBoxColumn yo lo hice
sobreescribiendo el Paint de las columnas, hay va un ejemplo.


protected override void Paint(Graphics g,Rectangle Bounds,CurrencyManager
Source,int RowNum,Brush BackBrush ,Brush ForeBrush ,bool AlignToRight)

{

string text = GetText(GetColumnValueAtRow(Source, RowNum));

Color color = GetColor(RowNum);

Brush pincel;

if (color != Color.Empty)

pincel = new SolidBrush(color);

else

pincel = ForeBrush;

PaintText(g, Bounds, text, BackBrush, pincel, AlignToRight);

}

"HOZE(SMM)" escribió en el mensaje
news:
Hola a todos.

Tengo 1 datagrid en el que voy a mostrar datos cruzados, y quiero que


x
columnas me aparezcan con el mismo estilo que la barra de títulos, o sea,
que necesito representar al mismo tiempo dos estilos de columnas en el


grid.
Investigando he intentado tener dos TableStyle en el mismo datagrid, pero


o
se representa 1 u otro y no he sido capaz de mostrar los dos a la
vez. He estado estudiando los columnstyles, pero no he encontrado la


manera
de definir un color en un columnstyle.

Además estoy empleando una sobrecarga de DataGridTextBoxColumn para
evitar que el usuario pueda seleccionar el texto de la celda y intentando
basarme en esta clase tampoco puedo trabajar como yo quiero.

Me temo que la única solución que tengo es emplear dos datagrids con
distintos TableStyles :-(

¿No se os ocurre ninguna otra alternativa?


Gracias



Respuesta Responder a este mensaje
#2 HOZE\(SMM\)
28/06/2004 - 11:25 | Informe spam
Si, es eso, pero no he sido capaz de hacerlo porque no he podido identificar
cuál es la "coordenada" sobre el grid de la celda sobre la que se dispara el
evento.

"José Cordero" escribió en el mensaje
news:
Hola, no entendi bien tu problema. Pero si lo que quieres es poder definir
colores en las columnas y has heredado de DataGridTextBoxColumn yo lo hice
sobreescribiendo el Paint de las columnas, hay va un ejemplo.


protected override void Paint(Graphics g,Rectangle Bounds,CurrencyManager
Source,int RowNum,Brush BackBrush ,Brush ForeBrush ,bool AlignToRight)

{

string text = GetText(GetColumnValueAtRow(Source, RowNum));

Color color = GetColor(RowNum);

Brush pincel;

if (color != Color.Empty)

pincel = new SolidBrush(color);

else

pincel = ForeBrush;

PaintText(g, Bounds, text, BackBrush, pincel, AlignToRight);

}
Respuesta Responder a este mensaje
#3 HOZE\(SMM\)
28/06/2004 - 11:38 | Informe spam
[...]
Por eso pensé que habría alguna manera más elegante de solucionar esto
mediante el uso de TableStyles
Respuesta Responder a este mensaje
#4 José Cordero
28/06/2004 - 13:23 | Informe spam
Tuve exactamente el mismo problema y no encontre y una solución mediante
TableStyles, al final lo deje asi e hice una clase para relacionar las
columnas con la fila del grid. Si encuentras una solución mejor te
agradecería que la pusieras.
Saludos.

"HOZE(SMM)" escribió en el mensaje
news:
[...]
Por eso pensé que habría alguna manera más elegante de solucionar esto
mediante el uso de TableStyles


email Siga el debate Respuesta Responder a este mensaje
Ads by Google
Help Hacer una preguntaRespuesta Tengo una respuesta
Search Busqueda sugerida