Är det ngn som har förslag hur jag skall lösa mitt "lilla" problem. Ska bara förtydliga, det jag vill ha tips och råd med hur man kan lösa detta rent teoretiskt inte att ni skall komma med en kod. Om ni vill det är det givetvis välkommet =D Hej Linda! precis som du skrev, så måste varje produkt vara kopplad till specifika tillbehör, eftersom att det skall levereras kundanpassade produkter. Har iaf gjort så att på första sidan av beställningen kommer det ange produkter. och på andra sidan kommer det få ange vilka tillbehör det vill ha, för varje specifik produkt. Men problemet återstår fortfarande hur jag löser denna sida. Vet inte om jag förstått ditt problem rätt men: Tänkte göra ett litet tillägg. Hur ser din databas-struktur ut? Ungefär som den Patrik beskrev antar jag, men har du tänkt nåt på själva orderhanteringen? så här ligger det nu i db.. kanske skall lägga till att samtliga produkter har likadana tillbehör Nu måste jag erkänna att jag läste ditt svar snabbt, tänkte kort och skrev nedanstående lååångt. Måste nämligen jobba istället för att hänga här och ha trevligt! ;-) Linda, nej, det är inte löst, förtillfället ligger det lite på is, fast jag skulle gärna vilja lösa det... Linda, fråga! med det kan man repetera samma data då? eller hämtar den bara information från db:n? för att det jag vill är att den skall repetera samma data lika många gånger som kunden anger antal.. dvs. om kunden väljer 4:a skall detta komma upp... Linda,Förslag på lösning?!?
Har en mängd produkter som skall hämtas från databasen och sedan skrivas ut på sidan. (testade med datagrid, fungerade utmärkt hit). När datan är presenterad skall användaren sedan kunna välja antalet av produkten, när kunden valt antal och klickat på "ändra" skall det komma nya rader med information, lika många rader som kunden valt antal. (Testade med for Next, men fick ej att fungera tillsamans med dg). Det rader som skall komma upp skall alla ser likadana ut.. Kunden skall här kunna välja tillbehör till produkten/na.
hur löser jag detta? ngn som har förslag på smidig lösning.
Eller om ngn vet av ngt smidigare upplägg där man kan anpassa tillbehör just efter en specifik produkt.?
öppen för alla förslag!Sv: Förslag på lösning?!?
Sedan: En specifik produkt har olika tillbehör, kunden skall kunna anpassa vilka tillbehör det vill ha efter sina egna behov.
Förslag?Sv: Förslag på lösning?!?
Jag är inte säker på att jag förstår vad du är ute efter. Vore det inte enklare att först välja godtycklig huvudprodukt i godtyckligt antal ex (1 utegrill, 2 mopeder) och sen välja godtyckligt tillbehör i godtyckligt antal ex (en flaska tändvätska, två dunkar oljeblandad bensin, en påse grillkol, tio askar tändstickor)? I sådana fall vore ett s.k. master/detail-upplägg bättre. Men det är klart, om tillbehören t.ex. ska komma färdigmonterade på huvudprodukten (en utegrill, paketerad med kol, tändvätska och tändstickor, samt två fulltankade mopeder) så måste de förstås hållas kopplade till varje specifikt ex av huvudprodukten.
Återkom gärna och beskriv situationen lite noggrannare, så ska jag försöka ge ett bättre svar.
För en mycket bra allmän genomgång av datagrids kan jag rekomendera artikelserien An Extensive Examination of the DataGrid Web Control av Scott Mitchell. http://aspnet.4guysfromrolla.com/articles/040502-1.aspx Scott har skrivit flera klassiska ASP-böcker och artikelserien kanske har kvar lite "gammel-ASP-manér", men är ändå mycket läsvärd om man börjar med datagrids. Master/details-upplägg visas bl.a.
Kan också tipsa om http://www.datagridgirl.com/.
mvh
/JonasSv: Förslag på lösning?!?
Sv: Förslag på lösning?!?
I din databas kan du ha följande tabeller:
Produkter
Tillbehör
ProduktTillbehör (produktid och tillbehörsid som skapar en relation)
På din första sida har du som du redan gjort, en produktsida. När man väljer en produkt så skickas idnumret in i databasen och man kan då hämta alla tillbehör som har en koppling till produkten genom relationstabellen.
Detta gör att du kan ha hur många olika tillbehör du vill och använda samma tillbehör till olika produkter, samtidigt som du kan bestämma exakt vilka tillbehör som skall finnas tillgängliga på en produkt.
/pD
www.pdc.se
www.pdc.se/blog
www.patrik-dahlen.nuSv: Förslag på lösning?!?
Om det är så att man ska kunna välja olika tillbehör för en produkt man har valt flera av så kan man göra så här.
Om man på första sidan valt 2st Produkt 1 och 1 st Produkt 2:
-----------------------------
Produkt 1
1 Tillbehör 1
Tillbehör 2
2 Tillbehör 1
Tillbehör 2
Produkt 2
Tillbehör 1
Tillbehör 2
Tillbehör 4
----------------------
Om Produkterna ligger i en Repeater så kan tillbehören ligga i DataGrids som man binder vid Repeater.OnItemDataBound.
/pD
www.pdc.se
www.pdc.se/blog
www.patrik-dahlen.nuSv: Förslag på lösning?!?
Det är läge att göra klart flödena för sig innan man börjar designa UI:t. Om du redan gjort det, beskriv db-strukturen och flödet lite kortfattat.
mvh
/JonasSv: Förslag på lösning?!?
tabellorder
#ordernr
*orderradNr
datum
*kundnr <---kund tabellen kopplas hit
Kopping mellan dessa två tabellerna
tabell orderrad
#orderrandnr
*ordernr
Kopping mellan dessa två tabellerna
tabell tilllägg
(#)orderradnr
(#)tillbehörsbnr
kopplas samman med tillbehörtabellen
tabell tillbehör
#tillbehörsnr
tillbehörsnamn
Från orderrad kopplas det även till produkt
tabell produkt
#produktNr
produktnamm
--------------------------------------------------------------------------
hittils har jag gjort så att
i kundvagnstabellen har jag lagrat (detta e bara tillfällig tabell för bara kundvagenen)
#kundvagnsnr
ordernr
antal
*produktNr <--kopplas till produktSv: Förslag på lösning?!?
Sv: Förslag på lösning?!?
Jag utgår från att du har genererat ett orderradnr för varje ex av huvudprodukten.
Ungefär såhär kanske skulle funka då (obs, extremt kortfattat och oprövat och ogenomtänkt!):
1) Läs upp relevant(a) rad(er) ur tillbehörstabellen till ett nytt dataset.
2) Skapa ett ett nytt DataTable-tableobjekt (alltså inte en tabell i db:n). Lägg till samma kolumner som i datasetet ovan, men dessutom en kolumn för orderradnumret.
3) Gör en slinga som går så många gånger som det antal ex din kund har valt av huvudprodukten.
I slingan loopar du för varje varv igenom datasetet från punkt ett (om det nu innehåller mer än en rad) och kopiera varje DataRow till DataTablen du skapade ovan, plus orderradnumret för respiektive ex av huvudprodukten.
4) Lägg till DataTable-objektet till ett dataset.
5) Sätt datasetet från 4 som source till en ny grid (eller repeater eller datalist).
För att presentationen visuellt ska hänga ihop med huvudprodukten skulle jag kanske gjort på liknande sätt för att först skapa så många kopior av huvudproduktens rader som det antal ex kunden vill köpa. Sen skulle jag använt orderradnummer för att etablera en parent/childrelation mellan datatabellen med orderradnr/huvudprodukt och datatabellen med orderradnr/tillbehör. Det här kan du alltså göra direkt mellan Dataset-objekt (och deras DAtaTabe-objekt), utan att skapa tabeller i db. Sök efter dataSet.Relations.Add i dokumentationen om du inte vet hur.
Kolla också t.ex. http://www.dotnetjunkies.com/Tutorial/841522C9-FFBD-4C57-BD48-F62B55057FF3.dcik för exempel på ett master/detailupplägg som använder dataset.relations.
Så att det kanske skule se ut så här:
Orderradnr 1: Moped, blå 1 st
Tillbehör: bensindunk, _st. (dropdown eller textbox för antal)
hjälm _st
tuff dekal _st
Orderradnr 2: Moped, röd 1 st
Tillbehör: bensindunk _ st
hjälm _st
tuff dekal _st
Slarvigt och slafsigt svar detta, men du kanske får lite idéer.
mvh
/JonasSv: Förslag på lösning?!?
Löste ditt problem sig eller behöver du mer hjälp? Om du är klar med detta problemet så markera inlägget som antingen löst (om du hittat en lösning - skriva gärna vad den var så andra kan ta del av både fråga och svar) eller stängd (om du inte hittat en lösning men problemet inte är aktuellt längre).
Om du inte löst problemet och vill ha mer hjälp så skriv ett inlägg som beskriver var du står idag med problemet (vad du har provat etc) så skall vi se om vi inte kan hitta en lösning.
//AndreasSv: Förslag på lösning?!?
Sv: Förslag på lösning?!?
Det är inte en form av Master-Details vy som du söker? Denna visar hur du kan bygga en sån på flera nivårer där du skulle kunna dynamiskt bygga nivårerna när man väljer ett visst antall av någoto som msn sen väljer tillbehöv till etc etc.
http://www.asp.net/ReportsStarterKit/SourceViewer/srcview.aspx?path=drilldown.src&file=drilldown&rows=5
Du kan välja "Run: Live Version" upp i menyns på sidan för att testa hur det fungerar. För övrigt visar denna StartersKit http://www.asp.net/ReportsStarterKit/ hur man kan göra en rad olika relationer mellan information och den fullständiga koden med dokumentation finns att ladda ner på http://www.asp.net/Default.aspx?tabindex=9&tabid=47
//AndreasSv: Förslag på lösning?!?
produkt1
tillbehör1
tillbehör1
tillbehör1
tillbehör1Sv: Förslag på lösning?!?
Hur kommer du lagra detta i din databas? Kommer det lagras med typ ProduktID, TillbehorID, Antal ?
Då kan du läsa ut <b>Antal</b> och löra en loop som går lika många gånger som antal är och lägga till informationen för tillbehöret.
Men varför vill du lista dem så? Kommer det vara möjligt att gå in och göra inställningar på varje tillbehörs-rad också? Om det är så, så kommer givetvis du inte lagra det så som jag "utgick" ifrån utan kommer väl då ha en post för varje tillbehör och då ser jag inte svårigheten =)
//Andreas