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

DBGrid, sirina kolona

[es] :: C++ programiranje :: DBGrid, sirina kolona

[ Pregleda: 825 | Odgovora: 6 ]

Postavi temu Odgovori

Autor

Pretraga teme: Traži
Markiranje Štampanje RSS

Mr. Rejn
Deki Karamatijević
Srbija.Niš.MedianaCity

Član broj: 2514
Poruke: 390
*.adsl.sezampro.yu.



Profil

icon DBGrid, sirina kolona27.07.2006. u 10:12
Kako se moze programski izvrsiti zbijanje kolona u DBGridu tako da sirina kolone odgovara duzini zapisa,
kako se ne bi nekontrolosano sirile u tabeli? Radi se u BCB6.
"I prefer the term:artificial person..."-Bishop the android,Alien 2
27.07.2006. u 10:12 

itf
Zagreb

Član broj: 59794
Poruke: 736
161.53.55.*

ICQ: 337738018


Profil

icon Re: DBGrid, sirina kolona27.07.2006. u 11:23
Pokušaj ovo za svaki stupac,
Code:
DBGrid1->Columns[0].RebuildColumns();

...iako se meni to i ne sviđa jer uvijek stavljam sve fiksne dužine. Ako mi baš to treba onda u DBGridu koristim font Courier jer su svi znakovi jednake duljine pa po formuli izračunam duljinu stupca u ovisnosti o broju znakova koji se prikazuje u koloni..
27.07.2006. u 11:23 

IDE

Član broj: 53403
Poruke: 541
*.crnagora.net.



Profil

icon Re: DBGrid, sirina kolona29.07.2006. u 17:38
Citat:
DBGrid1->Columns[0].RebuildColumns();


meni ovo ne radi... ??

ima li neki drugi, elegantniji, nacin (koji radi ;-) )
there's something out there
waiting for us,
and it ain't no man...
29.07.2006. u 17:38 

X Files
Vladimir Stefanovic
Pozarevac

SuperModerator
Član broj: 15100
Poruke: 2992
*.nat-pool.po.sbb.co.yu.

Jabber: xfiles@elitesecurity.org
Sajt: www.antivari.com


Profil

icon Re: DBGrid, sirina kolona29.07.2006. u 18:16
Nisam isprobao, ali medota TCanvas::TextWidth() bi trebala da pomogne.

Canvas->TextWidth( "neki tekst" ) bi trebalo da vrati duzinu stringa "neki tekst" u pixelima,
pa onda kolonu DBGrida u kome se nalazi tekst treba povecati na tu vrednost.

Na primer:

DBGrid1->Columns->Items[0]->Width = Canvas->TextWidth( DBGrid1->Columns->Items[0]->AsString ) + 2;

Mada ja licno nikada ne racunam najduzi tekst kolone, nego sirinu postavim na neke logicne vrednosti.

FREEWARE
Di rečnik, v1.0.058 (srp-eng/eng-srp priručni rečnik)
http://www.antivari.com
29.07.2006. u 18:16 

Mr. Rejn
Deki Karamatijević
Srbija.Niš.MedianaCity

Član broj: 2514
Poruke: 390
*.adsl.sezampro.yu.



Profil

icon Re: DBGrid, sirina kolona31.07.2006. u 11:48
Dobro, mislim da cu se zadovoljiti fiksiranjem sirine kolona,npr.:
Code:

int br_kolona = DBGrid1->Columns->Count;
for (int i=0;i<br_kolona;i++) {
  DBGrid1->Columns->Items[i]->Width = 85;
        }



"I prefer the term:artificial person..."-Bishop the android,Alien 2
31.07.2006. u 11:48 

X Files
Vladimir Stefanovic
Pozarevac

SuperModerator
Član broj: 15100
Poruke: 2992
*.nat-pool.po.sbb.co.yu.

Jabber: xfiles@elitesecurity.org
Sajt: www.antivari.com


Profil

icon Re: DBGrid, sirina kolona31.07.2006. u 17:38
Pored nacina koji i sam koristis:

DBGrid->Columns->Items[0]->Width = NEKA_VREDNOST_U_PIXELIMA;

Probaj i ovo:

DBGrid->Fields[0]->DisplayWidth = NEKA_VREDNOST_ALI_U_KARAKTERIMA;

(Nisam siguran, ali ovaj drugi bi valjda trebao da uzme u obzir i font da bi odredio sirinu. Najbolje isprobaj)

FREEWARE
Di rečnik, v1.0.058 (srp-eng/eng-srp priručni rečnik)
http://www.antivari.com
31.07.2006. u 17:38 

IDE

Član broj: 53403
Poruke: 541
*.crnagora.net.



Profil

icon Re: DBGrid, sirina kolona31.07.2006. u 21:52
nije lose ni ovako:
Code:

for(int i=0;i<DBGrid1->FieldCount;i++)
DBGrid->Columns->Items[i]->Width=DBGrid1->Width/(DBGrid1->FieldCount+1)


Ovako radim kada zelim da mi sva polja stanu u DBGrid1 bez obzira koliko su siroka...
there's something out there
waiting for us,
and it ain't no man...
31.07.2006. u 21:52 

[es] :: C++ programiranje :: DBGrid, sirina kolona

[ Pregleda: 825 | Odgovora: 6 ]

Postavi temu Odgovori

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