[ dzvekanovic @ 15.09.2008. 18:51 ] @
Pozz svima...
Da pocnem sa pitanjima.

Prvo: Povezana je Ado kontrola sa bazom a datagrid je povezan na ado kontrolu "adodc1",rezultat je jednostavni prikaz tabele...medjutim potrebno mi je kreirati neku vrstu inventara,a ideja je sledeca....Da se u datagridu izcitaju redovi tabele "STANJE" i da se pored postojecih kolona dodaju jos dve kolone sa nazivom "Izbrojana kolicina" i "Razlika".
Kolone iz tabele "Stanje" su: Sifra_artikla,naziv_artikla,kolicina, i na ove kolone bi dodao prethodno opisane "Izbrojana kolicina" i "Razlika".

u FORM LOADU ispisem:
Code:

Private Sub Form_Load()
DataGrid1.MarqueeStyle = dbgHighlightRow
DataGrid1.Columns.Add (5)
DataGrid1.Columns(5).Caption = "Izbrojano"
DataGrid1.Columns.Add (6)
DataGrid1.Columns(5).Caption = "Razlika"

End Sub 

Kad pokrenem ispise se stanje iscitano iz baze i dodaju dve kolone PRAZNE...RADI EXTRA ( SAD DOLAZI DEO GDE SAM ZASTAO)
Trebalo bi da u svaki red kolone IZBROJANA KOLICINA unesem brojcanu vrednost (npr od 0 do 10000) a da se istovremeno u koloni RAZLIKA odradi i prikaze (izbrojana kolicina - kolicina iz baze)= razlika.
Prikaz kolone RAZLIKA nemora u isti sekund da se prikaze nakon unosa vrednosti u kolonu IZbrojana kolicina,vec bi trebalo nakon unosa poslednjeg artikla da se odradi prikaz(i jedno i drugo resenje bi mi odgovaralo)..

Ovo bi bila neka vrsta excel tabele....Naravno nemora preko datagrida ali ja ne znam drugacije....primam sve savete.


A drugo pitanje: Kako u VB6.0 da otvorim datagridview1 !????!! ne mogu da pronadjem u Project -> Components !!!

Trece: Kako u VB6.0 da otvorim Crystal report imam samo datareport!!!!?????



[Ovu poruku je menjao Aleksandar Ružičić dana 18.09.2008. u 12:05 GMT+1]
[ djvlajko @ 17.09.2008. 21:20 ] @
Nisam skoro radio sa DataGrid-om pa cu probati okvirno da ti odgovorim.

Ako sam dobro shvatio radis sa tzv "povezanom DataGrid kontrolom", tj podaci u kontroli su u direktnoj vezi sa tabelom "Stanje". Probaj u tabeli "Stanje" dodati dve kolone ("Izbrojano" i "Razlika")
pa je onda povezati sa DataGrid-om. Zatim unesi kod u dogadjaj AfterColEdit (ili mozda AfterColUpdate - eksperimentisi malo) DataGrid-a, koji ce popuniti kolonu tabele "Razlika", posle unosa "Izbrojano"....


Nisa cuo za kontrolu DataGridView1 ....


Probaj da instaliras paket Crystal report 8 (ili 9). Posle ces iz menija Project/Components moci dodati kontrolu Crystal rep. pa dalje nju koristis za isvestaje.


Nadam se da sam ti bar malo pomogao.

Pozdrav ...
[ dzvekanovic @ 18.09.2008. 10:30 ] @
@djvlajko ima nesto i u tome ali u medjuvremenu sam nekako dosao do resenja preko SQL-a...Ubacio sam jos jednu kolonu u tabelu Stanje koja je imala ime "Izbrojana_kolicina" tipa samllint default value = 0 (znaci nisam je stvarao virtuelnu) i pomocu sql-a napravio sam prikaz Inventar...
npr
Code:

CREATE VIEW Inventar AS
SELECT *,(Izbrojana_kolicina - Kolicina) AS stanje FROM stanje

i dalje sam baratao sa SELECT * FROM Inventar

postavke u form Load-u gde se nalazi datagrid i adodc1:
Code:

sql = "update inventar SET izbrojana_kolicina = 0"           ->postavlja kolonu izbrojana_kolcina na 0 pri svakom ucitavanju forme

Set conn = New ADODB.Connection                                
conn.ConnectionString = Adodc1.ConnectionString
conn.Open
Set rs = New ADODB.Recordset
rs.Open sql, conn, adOpenDynamic, adLockOptimistic

Adodc1.Refresh


DataGrid1.Columns(0).Locked = True
DataGrid1.Columns(1).Locked = True
DataGrid1.Columns(2).Locked = True
DataGrid1.Columns(3).Locked = True
DataGrid1.Columns(4).Locked = True

Takodje u formi postoji komandno dugme 'Odstupanje" koje ima mali kod: Adodc1.refresh -> i tada se baza osvezi i prikaze rezultat stanje=(izbrojana_kolicina - kolicina)

U koloni Izbrojana kolicina vrednosti se aktivno upisuju u datagrid klik na celiju i to je to...ostalim kolonama pristup je LOCKED=True.

Verujem da sam zakomplikovao ali radi i ispunjava zamisao u potpunosti...uveren sam da ima mnogo nacina da se resi ovakav problem..

Sto se tice datagridView-a izgleda da se nalzi u vb.NET ...

Konkretno me interesuje kako pojedinim Celijama kolone promeniti Boju tj kolona=2 red=5 celija da je crvena??
Ili kako da svim celijama u redu=5 dodam boju crvenu???
I poslednje kako da promenim font kolone=3 a da ostale kolone zadrze standardni font??

PS..@djvlajko hvala na trudu!!!

[Ovu poruku je menjao Aleksandar Ružičić dana 18.09.2008. u 12:06 GMT+1]
[ goranvuc @ 18.09.2008. 14:25 ] @
Citat:
dzvekanovic:Konkretno me interesuje kako pojedinim Celijama kolone promeniti Boju tj kolona=2 red=5 celija da je crvena??
Ili kako da svim celijama u redu=5 dodam boju crvenu???
I poslednje kako da promenim font kolone=3 a da ostale kolone zadrze standardni font??

DataGrid ne omogucava pojedinacno formatiranje celija, tako da bojenje celije ili nekog reda nije moguce.

Takodje nije moguce ni pojedinacno podesavanje fonta.

Sorry, ali ti si u sustini trebao da podjes od FlexGrid kontrole, ako si zeleo neko "jace formatiranje" - DataGrid je bio pogresan izbor za ovo sto zelis.

Inace, ovde ima mali milion raznoraznih primera upotrebe FlexGrid-a koje mozes iskoristiti u slucaju da se prebacis

[ dzvekanovic @ 18.09.2008. 17:55 ] @
Ok Hvala moracu preci ipak na flexgrid....

Nasao sam neku staru verziju Crystal reportsa 4.xxxxx interesuje me kako da ga povezem sa sql server 2005,problem je kad hocu da se logujem na server nema u ponudi Tip servera koji odgovara sql serveru 2005!!!!
Da li treba jos nesto da se podesi ili moze da se poveze Crystal rep. preko data enviromenta iz vb-a????
[ dzvekanovic @ 20.09.2008. 22:09 ] @
Ne bi da otvaram novu temu zato cu samo da nastavim sa pitanjem jer ima veze sa datagridom...

Hteo bi da datacombo box prikazuje vrednosti string tipa(imena magacina-) ali da vraca vrednost integer tipa(sifra kompanija)...ime_magacina,sifra_magacina se nalaze u tabeli Magacin!!
Evo zasto...glupo mi je da se ispisuje 001 u datacombo boxu vec bi da ispise pun naziv Magacin-AD IMLEK...radi lakseg snalazenja obicnog korisnika programa...

Potrebno mi je da vrati vrednost u integeru jer u Tabeli OTPREMNICA imam kolonu sifra_magacina...

Kad hocu da odradim otpremu robe iz magacina hteo bi da se selektuje Ime_magacina ali da se u otpremnicu upise samo kod_magacina...evo i moje postavke ali ne radi,gde gresim????

adodc1 ->tabela Magacin
adodc2 ->tabela Otpremnica

datacombo.rowsource = adodc1
datacombo.listfield = Ime_magacina
datacombo.datasource = adodc2
datacombo.datafield = sifra_magacina
datacombo.boundcolumn = sifra_magacina(tebele MAGACIN)

Pri pokretanju programa datacombo lepo ispise imena Svih magacina medjutim kada bi trebalo da za selektovano ime vrati odgovarajucu numericku vrednost (sifru)..ne ide...vraca samo selektovano ime.

PS-tip podataka kolone (sifra_magacina) u tabeli Otpremnica necu da menjam u kolonu (ime_magacina) tipa string.
[ goranvuc @ 21.09.2008. 00:48 ] @
Pa sta citas, tj. koji property preuzimas: Text ili BoundText?
[ dzvekanovic @ 21.09.2008. 13:49 ] @
Iskreno pojma nemam...hocu samo da se kada selektujem npr.Magacin ADImlek umesto tog stringa da se iscita sifra 001...prosledjuje mi ime_magacina a ja bi da prosledi sifru_magacina...mislim da bi trebalo da se iscita boundtext.Neznam kako to ide.
[ dzvekanovic @ 21.09.2008. 14:16 ] @
@Goran Vucicevic

Veliko Hvala...na osnovu tvog posta resio sam problem...
pozdrav

i hvala jos jednom
[ dzvekanovic @ 30.09.2008. 16:20 ] @
Da li postoji mogucnost da se nakon ispisivanja redova u datagrid-u moze naknadno kliknuti na odredjeni red i da se otvori novi datagrid(prethodno postavljen na visible =false) kako bi prikazao podatke...

npr prvi datagrid bi nosio samo sifru izlaza ,ko je redio izlaz,datum izlaza a drugi datagrid bi nosio podatke tj svi sa istom sifrom izlaza ( a sifra izlaza je iz prvog datagrida,kliknuti red)?????????

nadam se da sam uspeo da docaram problem...
[ djvlajko @ 01.10.2008. 21:35 ] @
Upravo uradi ono sto si rekao, npr. iskodiraj dogadjaj prvog grida na seldeci nacin ...
Code:

Private Sub DataGrid1_DblClick()

   Me.DataGrid2.Visible = True
   
   Me.Adodc2.CommandType = adCmdText
   Me.Adodc2.RecordSource = "select * from lin where pogsif = '" & Me.Adodc1.Recordset.Fields("pogsif") & "'"
   Me.Adodc2.Refresh
   
   Set Me.DataGrid2.DataSource = Me.Adodc2
   
End Sub



... s tim sto je potrebno kliknuti na prvu kolonu DataGrid-a, gde se pojavljuje strelica pokazivaca tekuceg recorda (record selector).
Jasno je da je kontrola Adodc2 izvor podataka za drugi grid i da podaci unjoj zavise od odabranog reda iz prvog grida.


pozdrav.



[Ovu poruku je menjao Aleksandar Ružičić dana 01.10.2008. u 23:20 GMT+1]
[ djvlajko @ 02.10.2008. 20:16 ] @
Izvinjavam se na pogresnom izboru tabela u primeru - kodu.

Probao sam na nekom svom primeru i prekopirao ...

Nadam se da ces uspeti zameniti moje tabele (LIN i POG) sa svojim.
[ dzvekanovic @ 04.10.2008. 20:15 ] @
Extra je resenje...hvala