FTP | CCD | Buscar | Trucos | Trabajo | Foros |
|
Registrarse | FAQ | Miembros | Calendario | Guía de estilo | Temas de Hoy |
|
Herramientas | Buscar en Tema | Desplegado |
#1
|
||||
|
||||
Cargar datos en TVirtualStringTree
Tengo este código para cargar un TVirtualStringTree:
Código:
int nDatMun[2] = {0, 0}; PTreeEle DatEle; Mesas->NodeDataSize = sizeof(TTreeElec); Mesas->BeginUpdate(); Mesas->Clear(); Auxiliar->Close(); Auxiliar->SQL->Text = "SELECT A.Codigo, A.Nombre, B.Codigo, B.Distrito, B.Seccion, B.Mesa, C.Censo, " "COALESCE(SUM(D.Votos), 0) Votos FROM Poblacion A, Mesas B, DatMes C " "LEFT JOIN Resultados D ON C.CodPrv = D.CodPrv AND C.Codigo = D.Mesa AND " "C.Proceso = D.Proceso WHERE A.CodPrv = (SELECT Literal FROM Instalacion " "WHERE Etiqueta = 'Provincia') AND A.CodPrv = B.CodPrv AND A.Codigo = B.Municipio " "AND B.CodPrv = C.CodPrv AND B.Codigo = C.Codigo AND C.Proceso = :Proceso " "GROUP BY A.Codigo, A.Nombre, B.Codigo, B.Distrito, B.Seccion, B.Mesa, C.Censo " "ORDER BY Nombre, Distrito, Seccion, Mesa"; Auxiliar->ParamByName("Proceso")->AsInteger = StrToInt(pSelItem->SubItems->Strings[0]); Auxiliar->Open(); cAux = ""; Button18->Enabled = false; Button19->Enabled = false; for (; !Auxiliar->Eof; Auxiliar->Next()) { if (cAux != Auxiliar->FieldByName("Nombre")->AsString) { if (!cAux.IsEmpty()) { DatEle = (PTreeEle)Mesas->GetNodeData(Nodo1); DatEle->Censo = nDatMun[0]; DatEle->Votos = nDatMun[1]; nDatMun[0] = 0; nDatMun[1] = 0; } Nodo1 = Mesas->AddChild(NULL); DatEle = (PTreeEle)Mesas->GetNodeData(Nodo1); DatEle->Municipio = Auxiliar->FieldByName("Nombre")->AsString; DatEle->Codigo = Auxiliar->Fields->FieldByNumber(1)->AsInteger; cAux = Auxiliar->FieldByName("Nombre")->AsString; } Nodo2 = Mesas->AddChild(Nodo1); DatEle = (PTreeEle)Mesas->GetNodeData(Nodo2); DatEle->Municipio = FormatFloat("000 ", Auxiliar->FieldByName("Distrito")->AsInteger) + FormatFloat("000 ", Auxiliar->FieldByName("Seccion")->AsInteger) + Auxiliar->FieldByName("Mesa")->AsString; DatEle->Censo = Auxiliar->FieldByName("Censo")->AsInteger; DatEle->Votos = Auxiliar->FieldByName("Votos")->AsInteger; DatEle->Codigo = Auxiliar->Fields->FieldByNumber(3)->AsInteger; nDatMun[0] += Auxiliar->FieldByName("Censo")->AsInteger; nDatMun[1] += Auxiliar->FieldByName("Votos")->AsInteger; } Código:
void __fastcall TfEleccion::MesasGetText(TBaseVirtualTree *Sender, PVirtualNode Node, TColumnIndex Column, TVSTTextType TextType, WideString &CellText) { switch (Column) { case 0: CellText = ((PTreeEle)Sender->GetNodeData(Node))->Municipio; break; case 1: CellText = ((PTreeEle)Sender->GetNodeData(Node))->Votos > 0 ? (WideString)FormatFloat("##,###,##0", ((PTreeEle)Sender->GetNodeData(Node))->Censo) : (WideString)""; break; case 2: CellText = ((PTreeEle)Sender->GetNodeData(Node))->Votos > 0 ? (WideString)FormatFloat("##,###,##0", ((PTreeEle)Sender->GetNodeData(Node))->Votos) : (WideString)""; break; } } El query para las EUROPEAS 2019 (valor 39 del parámetro) me da este resultado: y una vez cargado el árbol se muestra así: Si hago el proceso para las MUNICIPALES 2019 (valor 40) este es el resultado: y la carga produce esto: y como remate con GENERALES 2019 (valor 41) tengo esto: que se muestra así: La única diferencia que hay entre los tres querys es que no siempre dan resultados en la columna votos. ¿Puede esto influir en como se muestran los datos en el árbol? Porque no le encuentro otra explicación. |
#2
|
||||
|
||||
Perdonad
¡¡¡NO HE DICHO NADA!!! Acabo de ver que estoy haciendo mal.
|
#3
|
||||
|
||||
Clubdelphi, el único sitio del mundo que te solucionan el problema mediante telepatía.
|
|
|
Temas Similares | ||||
Tema | Autor | Foro | Respuestas | Último mensaje |
Cargar datos de una BD en un label!! | djMadox | Conexión con bases de datos | 13 | 03-02-2015 09:32:21 |
Cargar datos | Hugo Penagos | Conexión con bases de datos | 1 | 14-12-2007 09:59:43 |
Cargar datos en una tabla | Drake | PHP | 2 | 04-06-2007 15:05:35 |
Crear base de datos y cargar datos desde delphi | Albano | MySQL | 4 | 17-05-2007 20:01:18 |
Error al cargar datos | Humberto Pertuz | Conexión con bases de datos | 2 | 04-11-2003 21:49:24 |
|