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

Indikacija postojanja detalja u master tabeli, DBGrid-BCB6

[es] :: C/C++ programiranje :: Indikacija postojanja detalja u master tabeli, DBGrid-BCB6

[ Pregleda: 2288 | Odgovora: 6 ] > FB > Twit

Postavi temu Odgovori

Autor

Pretraga teme: Traži
Markiranje Štampanje RSS

Mr. Rejn
Deki Karamatijević
Sremčica

Član broj: 2514
Poruke: 515
212.200.219.*



+4 Profil

icon Indikacija postojanja detalja u master tabeli, DBGrid-BCB604.07.2006. u 11:56 - pre 216 meseci
Postoji DBGrid koji prikazuje podatke iz Master tabele, a jedna od kolona ima ono dugmence
sa tri tacke (ellipsis) koje se pojavi kada se klikne unutar celije. Dogadjaj klika na to dugme
(DBGrid1EditButtonClick) treba da prikaze novu formu koja sadrzi drugi DBGrid u kome se prikazuju
Detalji vezani za taj zapis.
Moje pitanje je: kako da skockam prvi DBGrid dodajuci mu jos jednu kolonu na kraju koja ce
da bude indikator da taj zapis ima detalje? Znaci ako taj zapis ima detalje, onda celija te
zadnje kolone treba da promeni boju npr. u zeleno kao indikator da taj zapis ima Detalje u drugoj
tabeli,da ne moram da kliknem na dugmence unutar celije da bih provalio da zapis uopste nema
Detalje? Nadam se da sam dobro opisao stvar...
Ag + Na -> Xe
 
Odgovor na temu

itf
Zagreb

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



+9 Profil

icon Re: Indikacija postojanja detalja u master tabeli, DBGrid-BCB604.07.2006. u 15:45 - pre 216 meseci
Možda ti ovo pomogne....

Code:

for(int i = 1; i < = Table1->RecordCount; i++){
    if(Table2->RecordCount) //.. gdje je Table2 detail od Table1
       // oboji ćeiju u npr. crvenu boju
    Table1->Next();
}


Uvjet postavi npri. pri učitavanju podataka iz baze. Neznam da li koristiš stalnu konekciju ili konekciju u vrijeme zahtjeva. Ako je riječ o stalnoj konekciji onda stavi taj uvjet pri učitavanju (Table1->Open) ili poslije refresh-a, a ako je riječ o konekciji u vrijeme zahtjeva onda uvjet postavi nakon poziva UpdateBatch ili sl.. Možda je rješenje malo nezgodno ako je riječ o velikom broju zapisa, ali ako hoćeš i to optimizirati onda samo makni petlju i staviš da se npr. prilikom klika na DBGrid sa svaki zapis u master tablici zasebno provjerava broj zapisa u detail tablici.
 
Odgovor na temu

Mr. Rejn
Deki Karamatijević
Sremčica

Član broj: 2514
Poruke: 515
212.200.219.*



+4 Profil

icon Re: Indikacija postojanja detalja u master tabeli, DBGrid-BCB604.07.2006. u 17:31 - pre 216 meseci
Stvar je u tome sto ne znam kako da pristupim pojedinacnoj celiji u DBGrid-u da bih
joj promenio osobine.

[Ovu poruku je menjao Mr. Rejn dana 04.07.2006. u 19:46 GMT+1]
Ag + Na -> Xe
 
Odgovor na temu

itf
Zagreb

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



+9 Profil

icon Re: Indikacija postojanja detalja u master tabeli, DBGrid-BCB606.07.2006. u 14:42 - pre 216 meseci
Citat:
Mr. Rejn: Stvar je u tome sto ne znam kako da pristupim pojedinacnoj celiji u DBGrid-u da bih
joj promenio osobine.

[Ovu poruku je menjao Mr. Rejn dana 04.07.2006. u 19:46 GMT+1]


Mislim da to čak nije ni moguće na način na koji ti to želiš jer ako mijenjaš boju onda se ta boja reflektira na cijeli stupac. Možda bi ti bilo bolje da umjesto promjene boje napraviš stupac u koji ćeš pisati informaciju poput "Ima detalja" ili "Nema detalja", ili jednostavno 1 ili 0.
 
Odgovor na temu

Mr. Rejn
Deki Karamatijević
Sremčica

Član broj: 2514
Poruke: 515
212.200.219.*



+4 Profil

icon Re: Indikacija postojanja detalja u master tabeli, DBGrid-BCB606.07.2006. u 18:16 - pre 216 meseci
Citat:
itf: Mislim da to čak nije ni moguće na način na koji ti to želiš jer ako mijenjaš boju onda se ta boja reflektira na cijeli stupac. Možda bi ti bilo bolje da umjesto promjene boje napraviš stupac u koji ćeš pisati informaciju poput "Ima detalja" ili "Nema detalja", ili jednostavno 1 ili 0.


Da,ali i tako moras dodavati stringove u pojedine celije.
Ag + Na -> Xe
 
Odgovor na temu

itf
Zagreb

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



+9 Profil

icon Re: Indikacija postojanja detalja u master tabeli, DBGrid-BCB607.07.2006. u 13:13 - pre 216 meseci
Onda samo u bazi dodaj još jedan stupac u tablicu koju koristiš. Npr. stupac koji se zove DETALJ (bool). Tad u kodu samo napiši nakon provjere:

Table1DETALJ->Value = true; // PRETHODNO NAPRAVI DVOKLIK NA TABLICU I DODAJ SVA POLJA (VARIJABLE)

ili već što želiš. Možeš staviti i da je taj stupac string pa pišeš u njega što god želiš.
 
Odgovor na temu

Mr. Rejn
Deki Karamatijević
Sremčica

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



+4 Profil

icon Re: Indikacija postojanja detalja u master tabeli, DBGrid-BCB607.07.2006. u 17:11 - pre 216 meseci
Evo provalio sam moguci nacin da se ovo resi:
Kada se klikne na celiju, dodata kolona menja neke atribute (naslov kolone i boju naslova)
u zavisnosti da li zapis na ciji je red izvrsen klik ima detalje:
Code:

void __fastcall TForm1::DBGrid1CellClick(TColumn *Column)
{
   DBGrid1->Columns->Items[7]->Title->Caption = "";

    if(DataModule2->IBTable2->RecordCount)
    {
    // promeni tekst i boju naslova dodatne kolone:
    DBGrid1->Columns->Items[7]->Title->Caption = "Ima detalje";
    DBGrid1->Columns->Items[7]->Title->Color = clGreen;
    //zapis nema detalje:
    } else if (DataModule2->IBTable2->RecordCount == 0) {
    DBGrid1->Columns->Items[7]->Title->Caption = "Nema detalje";
    DBGrid1->Columns->Items[7]->Title->Color = clRed;
    }
}

Ag + Na -> Xe
 
Odgovor na temu

[es] :: C/C++ programiranje :: Indikacija postojanja detalja u master tabeli, DBGrid-BCB6

[ Pregleda: 2288 | Odgovora: 6 ] > FB > Twit

Postavi temu Odgovori

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