Hola sakuragi,
perdona que me una tan tarde al hilo, pero aca te doy una idea de como resolver el problema con DBGrid.
Es un código en C++Builder, si te resulta dificil de traducirlo me avisas.
Lo que hace este código es dejar en blanco los espacios que cumplen una determinada condición, para que se vea una sola parte de la lista.
por ejemplo uno tiene:
Código:
Yo casa 1
Yo moto 1
Juan casa 1
Juan auto 1
te lo deja
Código:
Yo casa 1
moto 1
Juan casa 1
auto 1
Código:
void __fastcall TFMain::GridCargosDrawColumnCell(TObject *Sender,
const TRect &Rect, int DataCol, TColumn *Column, TGridDrawState State)
{
if (!ModulePersonal->IBCargosOrdenados->IsEmpty())
{
int Fila = ModulePersonal->IBCargosOrdenados->RecNo-1;
if (Fila > 0)
if ((ModulePersonal->ArrayCargos[Fila] == ModulePersonal->ArrayCargos[Fila-1]) &&
(Column->FieldName != "TIPO_ACTIVIDAD") &&
(Column->FieldName != "DENOMINACION_ACTIV"))
GridCargos->Canvas->Font->Color = GridCargos->Canvas->Brush->Color;
}
GridCargos->DefaultDrawColumnCell(Rect, DataCol, Column, State);
}
puedes adaptarlo a tu gusto