Navigacija
Lista poslednjih: 16, 32, 64, 128 poruka.

Sortiranje po kolonama u Paradox-u ???

[es] :: Pascal / Delphi / Kylix :: Sortiranje po kolonama u Paradox-u ???

[ Pregleda: 3168 | Odgovora: 8 ] > FB > Twit

Postavi temu Odgovori

Autor

Pretraga teme: Traži
Markiranje Štampanje RSS

Brkic

Član broj: 55360
Poruke: 1222
*.dynamic.sbb.co.yu.



Profil

icon Sortiranje po kolonama u Paradox-u ???19.04.2007. u 20:28 - pre 212 meseci
Da li je moguce napravitina sortiranje podataka clickom na Column Title u paradox-u ??
ili bilo kakva opcija sortiranja.
koristim standardne komponente DataSource,Table,DBGrid.
Nisam nikako nasao da Table ima opciju Sort.

Video sam da moze preko ADOTable ali sa Access bazom.
 
Odgovor na temu

X Files
Vladimir Stefanovic
Pozarevac

SuperModerator
Član broj: 15100
Poruke: 4909
*.tekostolac.co.yu.



+641 Profil

icon Re: Sortiranje po kolonama u Paradox-u ???20.04.2007. u 07:59 - pre 212 meseci
Da li postoji neki poseban razlog zbog koga nisi koristio TQuery kao izvor podataka za DBGrid?

U slučajevima kao tvoj, uvek hvatam događaj:
TDBGrid::OnTitleClick(TColumn *Column)
... i generišem novi SQL upit koji uzima u obzir kolonu (Column->Field->Index) na koju
je kliknuto (ORDER BY kliknuto_polje), i dalje sve lepo radi kako se očekuje.

Kada se razmišlja o sortiranju, treba imati u vidu da se 'fizičko' sortiranje retko radi, jer na većim
tabelama to može da bude relativno dugotrajan proces, pa je kao takvo i nepoželjno. Obično se
koristi (da ga tako nazovem) 'logičko' sortiranje, tj. sortiranje gde se u raznim grid-ovima, izveštajima
i sl, sve vidi sortirano, a u stvari nije došlo do fizičkog premeštanja podataka po tabeli (čitaj hard disku).

Brzina koju vidiš uglavnom je posledica lepo postavljenih indeksa. Ako ti i ovo 'logičko' sortiranje
odgovara, savetujem da korisiš Query-je, a svakako razmisli o prelaski na ADO tehnologiju, jer BDE
kao napuštena tehnologija ima sve više i više prijavljenih problema na novijim Win OS-ovima.

EDIT:
Što se tiče mogućnosti sortiranja po tabeli, pogledaj kako bi to išlo promenom Indeksa
(koga naravno prethodno moraš i obezbediti u dizajnu baze):

// Iz knjige Charlie-a Calvert-a za BCB (lako je transformisati za Delphi):
Code:

void TForm1::DoSort(TObject *Sender)
{
   switch (dynamic_cast<TComponent *>(Sender)->Tag)
   {
      case stFirst:
         DMod->AddressTable->IndexName = "FNameIndex"; 
         break;

      case stLast:
         DMod->AddressTable->IndexName = "LNameIndex";
         break;

      case stCompany:
         DMod->AddressTable->IndexName = "CompanyIndex";
         break;
   }
}

... mada ja to nikada nisam tako radio.

Sve najbolje.



[Ovu poruku je menjao X Files dana 20.04.2007. u 09:16 GMT+1]
 
Odgovor na temu

Brkic

Član broj: 55360
Poruke: 1222
*.dynamic.sbb.co.yu.



Profil

icon Re: Sortiranje po kolonama u Paradox-u ???20.04.2007. u 10:04 - pre 212 meseci
Hvala ti na savetu ali mi konkretno nije pomoglo.

[Ovu poruku je menjao Brkic dana 20.04.2007. u 12:20 GMT+1]
 
Odgovor na temu

X Files
Vladimir Stefanovic
Pozarevac

SuperModerator
Član broj: 15100
Poruke: 4909
*.tekostolac.co.yu.



+641 Profil

icon Re: Sortiranje po kolonama u Paradox-u ???20.04.2007. u 10:36 - pre 212 meseci
Evo sad sam upravo napravio jedan test primer:

1. Form1
2. DBGrid1
3. TDataSource1
4. Table1 ( DBDEMOS, employee.db, koji već ima složeni indeks ByName (ime+prezime) )

To sam povezao, a tabelu 'aktivirao'.

Code:

void __fastcall TForm1::DBGrid1TitleClick(TColumn *Column)
{
   switch ( Column->Field->Index )
   {
      case 0:
         Table1->IndexName = "";
         break;

      case 1:
         Table1->IndexName = "ByName";
         break;

      case 2:
         Table1->IndexName = "ByName";
         break;

      default:
      ;
   }
}

Sortira po imenu kada se klikne na kolone Ime ili Prezime, a sortira i po ID-ju kada se klikne na ID.
 
Odgovor na temu

Brkic

Član broj: 55360
Poruke: 1222
*.dynamic.sbb.co.yu.



Profil

icon Re: Sortiranje po kolonama u Paradox-u ???20.04.2007. u 11:40 - pre 212 meseci
OK,hvala na pomoci,nasao sam employee.db ali mi jos reci gde da ubacim KOD koji si napisao ???

probao sam na milion nesta ali ne prepoznaje VOID. Treba li nesto jos dodati da bi prepoznao VOID ??
 
Odgovor na temu

X Files
Vladimir Stefanovic
Pozarevac

SuperModerator
Član broj: 15100
Poruke: 4909
*.dynamic.sbb.co.yu.



+641 Profil

icon Re: Sortiranje po kolonama u Paradox-u ???20.04.2007. u 14:37 - pre 212 meseci
Pa kod ubacujes u dogadjaj: OnTitleClick komponente TDBGrid, na isti način kao što to
radiš za bilo šta drugo (npr OnClick za TButton), dakle dupli klik i upišeš kod u skeleton koji ti IDE napravi.

Razlog zbog čega ti Delphi ne prepoznaje VOID je u tome što sam kod napisao u C++, a tvoje je da samo
tih par redova prevedes na Pascal.

Odavno nisam u Pascal vodama, ali nekako ovako netestirano /ti popravi/
Code:

case Column.Field.Index of
      0:  Table1.IndexName := '';
      1:  Table1.IndexName := 'ByName';
      2:  Table1.IndexName := 'ByName';
end;

ili 1:, 2:, 3:, jer bih rekao da indeksi u pascalu idu od jedinice...


[Ovu poruku je menjao X Files dana 20.04.2007. u 15:49 GMT+1]
 
Odgovor na temu

Brkic

Član broj: 55360
Poruke: 1222
*.dynamic.sbb.co.yu.



Profil

icon Re: Sortiranje po kolonama u Paradox-u ???20.04.2007. u 21:01 - pre 212 meseci
Ok,hvala na pomoci, radi sa employee.db bazom.

sada gledam kako da napravim bazu sa slozenim indexima.
Imam neki primer za pravljenje baze iz programa ali bas ne ide.

with Table1 do
begin
Active := False;
DatabaseName := 'D:\Delphi\JA\TelImenik3\Data';
TableType := ttParadox;
TableName := 'Data2';

{ Don't overwrite an existing table }

if not Table1.Exists then begin
{ The Table component must not be active }
{ First, describe the type of table and give }
{ it a name }
{ Next, describe the fields in the table }
with FieldDefs do begin
Clear;
with AddFieldDef do
begin
Name := 'Telefon';
DataType := ftInteger;
//Required := True;
end;
with AddFieldDef do
begin
Name := 'Ime';
DataType := ftString;
Size := 30;
end;
end;
{ Next, describe any indexes }
{ with IndexDefs do
begin
Clear;
{ The 1st index has no name because it is
{ a Paradox primary key }
{ with AddIndexDef do
begin
Name := '';
Fields := 'Field1';
Options := [ixPrimary];
end;
with AddIndexDef do
begin

Name := 'Fld2Indx';
Fields := 'Field2';
Options := [ixCaseInsensitive];
end;
end; }
{ Call the CreateTable method to create the table }
CreateTable;
Active:=true;
end;
end;

Imate li neke ispravke koda da funkcionise sa sortiranjem ??
 
Odgovor na temu

Miloš Baić
Miloš Baić
ERP (Dynamics NAV) programer
Beograd

Član broj: 72468
Poruke: 1155
*.dialup.neobee.net.



Profil

icon Re: Sortiranje po kolonama u Paradox-u ???20.04.2007. u 23:14 - pre 212 meseci
Ako misliš nešto ozbiljnije praviti, a ne gubiti vreme, batali BDE.
Someone's sitting in the shade today because someone planted a tree a long time ago.
 
Odgovor na temu

Brkic

Član broj: 55360
Poruke: 1222
*.dynamic.sbb.co.yu.



Profil

icon Re: Sortiranje po kolonama u Paradox-u ???21.04.2007. u 08:24 - pre 212 meseci
Ne mislim nista ozbiljno,
nesto za moje potrebe,tj vec sam napravio ali mi treba sortiranje koje sam trazio pa bi izmenuo bazu pa ako moze pomoc oko formiranja nove baze.

 
Odgovor na temu

[es] :: Pascal / Delphi / Kylix :: Sortiranje po kolonama u Paradox-u ???

[ Pregleda: 3168 | Odgovora: 8 ] > FB > Twit

Postavi temu Odgovori

Navigacija
Lista poslednjih: 16, 32, 64, 128 poruka.