[ vinkof @ 14.11.2010. 21:56 ] @
Konkretnije:
Želim da iznajmljivači mogu sami upisivati i mijenjati cijene svojih smještajnih jedinica. Napravio sam tablicu preko koje upisuju naziv svojih smještajnih jedinica, određuju termine i cijene za te termine. Sve se to upisuje u tablicu baze podataka pod njihovim ID.

Sad vas molim za prijedlog na koji način da ispisujem tablicu s onoliko stupaca koliko je popunjeno termina odnosno onoliko redaka koliko je ispunjeno smještajnih jedinica. Već sam pokušao to pomoću For Next petlji redaka i stupaca pomoću kojih bi se oni ispisivali dok ne naiđu na praznu ćeliju baze podataka, ali ne znam kako se uzima vrijednost iz sloga baze podataka prema indexu, a ne imenu polja. Nešto kao što je u običnom ASP-u rekodrset oRs(1).

Ne znam da li sam bio jasan ali dajte ideju pa ćemo razrađivat

hvala
[ Neznalica_sa_ugla @ 28.11.2010. 11:18 ] @
Da li ti je ovo još treba.. U načelu ti je postavka ok, Ali ovdje mene nedostaje u čemu radiš , spominješ recordset , i problem pročitati kolone ..
1 . Vjerovatno ti nije dobra koncepcija baze , jer taj bi podatak biou drugom planu ..
I pored toga problem možeš rješiti na više načina :
Čitajući podatak vidjeti dal' jel null , a ako poslije terbaš tablici ona se može proširivati vrlo lako s ajax-om ( a ko je proble u crtanju tablice)
ili dio tablice činiti nevidljivil koji smeta, ...

ako je problem u čitanju podataka iz baze ( valjda nije , reče upisuješ u bazu ) njega u asp.net možeš uzeti na više načina , datareader ., dataset , ... . Još jednom razmisli o bazi ( dobro nameran savet iz iskustva)
[ vinkof @ 28.11.2010. 14:04 ] @
Riješio sam to na dole navedeni način (da zaključimo temu), ali vjerojatno sam to trebao riješavati s više tablica u bazi, ako si na to mislio.
Ovo dolje funkcionira, no sad mi treba kalendar popunjenosti i u potrazi sam za kontrolom kalendara koji podržava označavanje više datuma. Telerik(trial) mi radi lokalno, ali ne i kad stranicu dignem na server??? Možda ima netko bolju ideju za ovu kontrolu?


U pitanju je cjenik koji bi u zaglavlju tablice (prvom retku) trebao prikazivati vremenski period za koji važe cijene (npr.: od:01.07. do 01.09.), a u prvom stupcu naziv smještajne jedinice (npr.: Apartman 1). Sjecišta bi bile cijene.

Iznajmljivači bi smostalno trebali unositi sve navedeno: termin koji im paše, naziv smještajne jedinice i cijene.

Napravio sam klasu Cjenik u kojoj imam svojstva svega gore navedenog pod nazivom: Naziv1, Naziv2... Termin1, Termin2..., cijena11, cijena12.. cijena95..
Naime tablica za unos ima mogućnost unosa max. 5 termina za max. 11 smještajnih jedinica

Preko te tablice za unos punim bazu podataka, tablicu "Cjenik". Sve sam strpao u tu jednu tablicu, pa su iznajmljivaču koji npr. ima jedan apartman i unesao je tri termina popunjena samo polja: Naziv1, Termin1,Termin2,Termin3, Cijena11, Cijena21 i Cijena31. Sve ostale ćelije u bazi, u tbl Cjenik za taj ID su prazne ("").

E sad. Sve je u redu s upisivanjem odnosno promjenom navedenih vrijednosti, ali treba to potencijalnom turistu prikazati kao tablicu koja ima točno onoliko redaka koliko ima ispunjenih smještajnih jedinica i točno onoliko stupaca koliko ima ispunjenih termina (naravno +1).

Moj pokušaj je bio slijedeći:
Dohvatio sam sve podatke u objekt "p" i saznao broj potrebnih redaka i stupaca ovako:
Kôd:
Dim p As cjenik = cjenik.CjenikOdID(idIznajmljivaca)
Cache("detalji") = p
stupac = 0
redak = 0
If p.TerminOd1 <> "" Then stupac = 1
If p.TerminOd2 <> "" Then stupac = 2
If p.TerminOd3 <> "" Then stupac = 3
If p.TerminOd4 <> "" Then stupac = 4
If p.TerminOd5 <> "" Then stupac = 5
If p.Naziv1 <> "" Then redak = 1
If p.Naziv2 <> "" Then redak = 2
If p.Naziv3 <> "" Then redak = 3
If p.Naziv4 <> "" Then redak = 4
If p.Naziv5 <> "" Then redak = 5
If p.Naziv6 <> "" Then redak = 6
If p.Naziv7 <> "" Then redak = 7
If p.Naziv8 <> "" Then redak = 8
If p.Naziv9 <> "" Then redak = 9
If p.Naziv10 <> "" Then redak = 10
If p.Naziv11 <> "" Then redak = 11

Namjera mi je bila ispisivati tablicu ispisujući string tablice u kodu kroz dvije For Next petlje, ali ne znam ispisati ćeliju prema njenom indexu (rednom broju ćelije).

To je trebalo izgledati otprilike ovako:

Kôd:
strTablica = "<table>"
' najprije zaglavlje
strTablica &= "<tr><td></td>"
For j=0 to stupac-1
strTablica &= "<td>" & p.Termin(stupac+br polja od kojeg počinju Termini) & "</td>"
Next
'sad ono ispod
For i = 0 to redak-1
strTablica &= "<tr><td>" & p.Naziv(redak+br polja od kojeg počinju Nazivi) & "</td>"
For j=0 to stupac-1
strTablica &= "<td>" & p.Cijena(stupac*11+stupac+br polja od kojeg počinju Nazivi) & "</td>"
Next j
strTablica &= "</tr>"
Next i
strTablica &= "</table>"


p.Termin(stupac+br polja od kojeg počinju Termini) - je samo ideja jer se u čistom asp to moze, iz rekordseta izvuc ćeliju prema rednom broju.


Kako i dalje ne znam kako izvući vrijednost iz ćelije prema rednom broju(indexu),
riješio sam tako što sam napunio nizove Naziv(12), Termin(6), TerminLM(4), Cijena(56), CijenaLM(34) stringovima i onda ih kroz one petlje pozivao indexima

[ Neznalica_sa_ugla @ 28.11.2010. 15:22 ] @
Drago m i da si rješio ,, jel' to ova stranica otok Rab==??? Moram priznati da mi se sviđa
[ Neznalica_sa_ugla @ 28.11.2010. 15:29 ] @
A da što se tiče indeksa u recordset-u , znam da sam nekada davno pravio sviju funkciju . Prosljedim funkciji ( red , ime kolone) i onda sa move skocim na taj zapis i izvucem tu celiju , vretim podatak ..