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

Izoliranje samo jednog polja u DBgrid-u

[es] :: C/C++ programiranje :: Izoliranje samo jednog polja u DBgrid-u

[ Pregleda: 2841 | Odgovora: 10 ] > FB > Twit

Postavi temu Odgovori

Autor

Pretraga teme: Traži
Markiranje Štampanje RSS

coosaduck
Aleksandar Markicevic
Kusadak

Član broj: 86772
Poruke: 27
*.vdial.verat.net.



Profil

icon Izoliranje samo jednog polja u DBgrid-u04.03.2006. u 18:14 - pre 221 meseci
Poceo sam malo da ucim base podataka i nije mi jasno sledece:

DbGrid ima svoje dogadjaje ali kako da izdvojim samo jedno polje u DBGridu-i da samo njega ispitujem. Na primer : ako je ako je polje koje se nalazi u prvom redu u prvoj koloni prazno upisi u labelu neki broj.
Ne znam da li me razumete. Hvala Unapred.
 
Odgovor na temu

X Files
Vladimir Stefanovic
Pozarevac

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

Jabber: xfiles@elitesecurity.org


+638 Profil

icon Re: Izoliranje samo jednog polja u DBgrid-u04.03.2006. u 18:59 - pre 221 meseci
Kod baza podataka je bitno da razumes da je u JEDNOM trenutku OBELEZEN ZA
CITANJE samo JEDAN red (slog) neke TABELE ili SETA PODATAKA.

Dakle, treba ti dogadjaj koji ce da se izvrsi kada prolazis kroz slogove.

Taj dogadja se NE ODNOSI na TABELU ili SET PODATAKA nego na DATA SOURCE
koji je veza izmedju TABELE i DBGRIDA.

OnDataChange()

Code:

void __fastcall TForm1::TvojDataSourceDataChange(TObject *Sender,
      TField *Field)
{
   // OVDE TREBA DA DOJE TVOJ KOD KOJI CE DA ISPITA DA LI JE NEKA VREDNOST
   // NEKOG POLJA OVO ILI ONO
}


Dalje, pojam PRAZNO POLJE je dvosmislen kod baza podataka.

Na primer, NEINICIJALIZOVANO polje se ispituje medtodom IsEmpty(), ili IsNull(),
ne secam se vise.

Drugo, ako je vec bilo nekih podataka u tom polju pa si ih kasnije obrisao sa DEL,
to nije isto iako se isto vidi! Daklem NE-INICIJALIZOVANO != "".

Ne znam da li je to ono sto si mislio.

 
Odgovor na temu

coosaduck
Aleksandar Markicevic
Kusadak

Član broj: 86772
Poruke: 27
*.vdial.verat.net.



Profil

icon Re: Izoliranje samo jednog polja u DBgrid-u05.03.2006. u 09:52 - pre 221 meseci
Znao sam da on gleda jedan red ali ja u tom jednom redu imam dva polja koja treba posebno da izdvojim .Da li je to moguce?
 
Odgovor na temu

X Files
Vladimir Stefanovic
Pozarevac

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

Jabber: xfiles@elitesecurity.org


+638 Profil

icon Re: Izoliranje samo jednog polja u DBgrid-u05.03.2006. u 12:53 - pre 221 meseci
Postoji funkcija Bookmark() kojom mozes da OBELEZIS meki slog (ili vise slogova
sa vise Bookmark()-ova) i da se po potrebi vratis na njega i nesto uradis.
 
Odgovor na temu

coosaduck
Aleksandar Markicevic
Kusadak

Član broj: 86772
Poruke: 27
213.244.197.*



Profil

icon Re: Izoliranje samo jednog polja u DBgrid-u05.03.2006. u 17:13 - pre 221 meseci
Vazi.Probacu nesto
 
Odgovor na temu

X Files
Vladimir Stefanovic
Pozarevac

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

Jabber: xfiles@elitesecurity.org


+638 Profil

icon Re: Izoliranje samo jednog polja u DBgrid-u05.03.2006. u 17:20 - pre 221 meseci
Najbolje je da konkretno kazes sta hoces da uradis. Mozda postoji neki prirodniji
nacin za to sto zelis.

U bazam podataka za (razliku od od SpreadSheet programa: Excel) retko se koristi
pojam o NEKOM FIKSNOM redu (slogu).

 
Odgovor na temu

seymour
student
Novi sad

Član broj: 57634
Poruke: 65
..mtsns-ns.customer.sbb.co.yu.

Sajt: www.extrafull.com


Profil

icon Re: Izoliranje samo jednog polja u DBgrid-u05.03.2006. u 17:23 - pre 221 meseci
Da li ti je pitanje kako da selektujes neku kolonu koja pripada nekom slogu u DBGridu?Ako jeste onda treba da uradis sledece(pretpostavljam da si vezao datasource za dbgrid ):
Code:

AnsiString st=DBGrid->DataSource->DataSet->Fields->FiledByName("ime kolone u bazi")->AsString;
if (st==NULL || st=""){
 //radi vec sta treba da uradis
}

Ako ti se kolona zove IME_PREZIME onda ce biti FieldByName("IME_PREZIME")
imas i funkciju FieldByNumber (recimo DBGrid->DataSource->DataSet->Fields->FieldByNumber(1)->AsString),samo index koji se prosledjuje kao parametar nije redni broj kolone u dbgridu nego index te kolone u tabeli u bazi.
"necu da budem hipster kao ovi arhitekti koji znaju svakom ime, sta je radio, gde zivi, gde mu je office, gde drzi predavanja i sl... I onda kada vidis neku gradjevinu prvi put treba da pogodis cija je na osnovu stila. Bljak!"
 
Odgovor na temu

itf
Zagreb

Član broj: 59794
Poruke: 993
*.fsb.hr.



+9 Profil

icon Re: Izoliranje samo jednog polja u DBgrid-u06.03.2006. u 15:53 - pre 221 meseci
Nezna da li je itko primjetio, ali DBGrid ocito ima gresku kada se pokusavaju u bazu upisati podaci primljeni preko mreze (u OnExecute funkciji u IndyServer komponenti). Tada javi da su argumenti pogresni i sl.. samo zato jer je DBGrid prikazan. Kada stavite DBGrid->Visible = 0 tokom upisa u bazu tada sve radi bez greske (nakon upisa opet staviti DBGrid->Visible = 1). Znaci, ne smije biti vidljiv tokom upisa u bazu. Zanimljiv bug...
 
Odgovor na temu

coosaduck
Aleksandar Markicevic
Kusadak

Član broj: 86772
Poruke: 27
213.244.197.*



Profil

icon Re: Izoliranje samo jednog polja u DBgrid-u06.03.2006. u 17:54 - pre 221 meseci
Evo objasnicu vam ovo malo bolje.Na Primer imam tabelu:

Broj Ime Prezime Godistem prazna kolona Broj Ime Prezime Godistep

1 ime1 prezime1 Godiste1 prazna kolona1 6 ime6 prezime6 Godiste6
2 ime2 prezime2 godiste2 prazna kolona2 7 ime7 prezime7 Godiste7
3 ime3 prezime3 Godiste3 prazna kolona3 8 ime8 prezime8 Godiste8
4 ime4 prezime4 Godiste4 prazna kolona4 9 ime9 prezime9 Godiste9
5 ime5 prezime5 godiste5 prazna kol.5 10 ime10 prezime10Godiste10

godiste jedan mi je 1990
godiste sest mi je 1980
Moj zadatak je da kada stanem na polje Godiste1 i stisnem Enter da mi se u labeli ispise Osoba nije punoletna.Isto tako kada stanem na polje Godiste6 i stisnem Enter da mi se u labeli ispise Osoba je punoletna.

E sad, u DBGrid1KeyDown-u sam napisao

if(Key==13)
{
AnsiString god1=Table1->FieldByName("Godistem")->AsString;
AnsiString god6=Table1->FieldByName("Godistep")->AsString;

if(god1=="1990") Label1->Caption="Osoba nije punoletna";
if(God6=="1980") Label1->Caption="Osoba je punoletna";

}

Kada stanem na bilo koje polje u drugom redu i stisnem enter program proverava ceo red i ispisuje zadnji prolazak kroz if funkciju a to je "Osoba je punoletna".
Nadam se da me razumete i da ce te mi pomoci.Unapred zahvalan Coosaduck.
 
Odgovor na temu

seymour
student
Novi sad

Član broj: 57634
Poruke: 65
..mtsns-ns.customer.sbb.co.yu.

Sajt: www.extrafull.com


Profil

icon Re: Izoliranje samo jednog polja u DBgrid-u06.03.2006. u 18:58 - pre 221 meseci
Iskoristi OnCellClick event u TDbGrid-u:
void __fastcall TForm1::DBGrid1CellClick(TColumn *Column)
{
int vred=Column->Field->AsInteger;
if (vred>1988) Label1->Caption="Osoba nije punoletna";
else Label1->Caption="Osoba je punoletna";
}

Nisam testirao,ali mozda ce da radi :).Sve u svemu eksperimentisi sa ovim eventom i fujama koje sam ti napisao i TColumn klasom...
"necu da budem hipster kao ovi arhitekti koji znaju svakom ime, sta je radio, gde zivi, gde mu je office, gde drzi predavanja i sl... I onda kada vidis neku gradjevinu prvi put treba da pogodis cija je na osnovu stila. Bljak!"
 
Odgovor na temu

coosaduck
Aleksandar Markicevic
Kusadak

Član broj: 86772
Poruke: 27
213.244.197.*



Profil

icon Re: Izoliranje samo jednog polja u DBgrid-u07.03.2006. u 18:07 - pre 221 meseci
Ja sam radio ovaj program za bazom u nekom praistorijskom Borlandu koji nije imao OnCellClick evant.Pogledao sam u Borlandu 2005 i ima.Tako da sam resio problem.Hvala
 
Odgovor na temu

[es] :: C/C++ programiranje :: Izoliranje samo jednog polja u DBgrid-u

[ Pregleda: 2841 | Odgovora: 10 ] > FB > Twit

Postavi temu Odgovori

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