Ver Mensaje Individual
  #10  
Antiguo 07-11-2019
Avatar de Angel.Matilla
Angel.Matilla Angel.Matilla is offline
Miembro
 
Registrado: ene 2007
Ubicación: Toledo - España
Posts: 1.418
Reputación: 21
Angel.Matilla Va por buen camino
Como vía query no se me ocurre como sacar todos los años para todos los partidos, al margen de si tiene o nom votos registrados, lo h hecho de una forma un poco más pedestre, pero funciona.
Código:
Chart1->Chart3DPercent                 = 10;
Chart1->Title->Font->Style             = TFontStyles() << fsBold;
Chart1->BottomAxis->Title->Caption     = "Años";
Chart1->BottomAxis->Title->Font->Style = TFontStyles() << fsBold;
Chart1->BottomAxis->Labels             = fMenu->Auxiliar->FieldByName("Fecha")->AsInteger;
Chart1->LeftAxis->Title->Caption       = "Votos";
Chart1->LeftAxis->Title->Font->Style   = TFontStyles() << fsBold;

cAux = "";
for (; !fMenu->Auxiliar->Eof; fMenu->Auxiliar->Next())
{
     if (fMenu->Auxiliar->FieldByName("Sigla")->AsString != cAux)
     {
          pItem = Evolucion->Items->Add();
          pItem->Caption = (cAux = fMenu->Auxiliar->FieldByName("Sigla")->AsString);
          for (nItem = 1; nItem < Evolucion->Columns->Count; nItem ++)
               pItem->SubItems->Add("");
     }

     for (nItem = 1; nItem < Evolucion->Columns->Count; nItem ++)
          if (Evolucion->Columns->Items[nItem]->Caption == IntToStr(fMenu->Auxiliar->FieldByName("Fecha")->AsInteger))
               pItem->SubItems->Strings[nItem - 1] = FormatFloat("###,##0", fMenu->Auxiliar->FieldByName("Votos")->AsInteger);
}

for (int nRow = 0; nRow < Evolucion->Items->Count; nRow ++)
{
     fMenu->Auxiliar->First();
     for (; !fMenu->Auxiliar->Eof; fMenu->Auxiliar->Next())
     {
          if (Evolucion->Items->Item[nRow]->Caption == fMenu->Auxiliar->FieldByName("Sigla")->AsString)
          {
               Chart1->AddSeries(&TLineSeries(Chart1));
               Chart1->Series[Chart1->SeriesCount() - 1]->Title       = fMenu->Auxiliar->FieldByName("Sigla")->AsString;
               Chart1->Series[Chart1->SeriesCount() - 1]->SeriesColor = (TColor)fMenu->Auxiliar->FieldByName("Color")->AsInteger;
               break;
          }
     }

     for (int nCol = 1; nCol < Evolucion->Columns->Count; nCol ++)
          Chart1->Series[Chart1->SeriesCount() - 1]->Add(StrToIntDef(StringReplace(Evolucion->Items->Item[nRow]->SubItems->Strings[nCol - 1], ".", "", oReplace), 0),
                                                         StrToInt(Evolucion->Columns->Items[nCol]->Caption),
                                                         (TColor)fMenu->Auxiliar->FieldByName("Color")->AsInteger);
}
No es la forma más elegante, pero funciona-
Responder Con Cita