Hvis jeg skal til at bruge index-tal kan jeg lige så godt skrive i asp.old igen. Fidusen skulle jo netop være at man ikke kan mære forskel på om jeg har hentet fra en .xml fil eller en sql-db, når først det er et dataset.
okay okay.. hvad er det helt præcis du VIL med dine data... hvis det er fordi at du skal vise dem på en hjemmeside kan du sagtens bare binde dit DataView til et DataGrid
Jeg vil gerne programmere mig frem til hjemmesiden, og samtidig skal alle data hentes fra .xml filer men være forberedt på at flyttes over til en SQL DB.
Ved at hente mine xml-data ind i et dataset bliver jeg uafhængig af om det er xml eller SQL. Jeg ved ikke hvordan jeg programmere mig til et datagrid, samt tilknyttet hver linie det link og design som jeg ønsker, det er meget nemmere programmeringsmæssigt, og så slipper jeg også for flere kilo viewstate data.
Kort fortalt har jeg kunne dette problem ved at programmere mig til siden, hvor imod bruger jeg datagrid skal jeg til at finde ud af hvordan jeg knytter link og laver designet rigtigt samt dynamisk ændre disse. Har forsøgt men her kommer bare en masse nye problemer.
uhm... ja... typisk dilemma man har når man kommer fra asp til asp.net, at man gerne vil skrive hver eneste kode linje selv
"If i didn't invented it, it's not good enough"-syndromet... pas meget på med det, lider selv af det til tider.
Hvis jeg var dig ville jeg sætte mig noget mere ind i de forskellige måder at repræsentere data på. Datagrid er jo slet ikke den eneste, og måske alt for overkill til dig? Personligt bruger jeg den kun meget sjældent, kan bedre lide Repeateren, for der har man noget mere kontrol over tingene. Ang. Viewstate kan du jo bare slå det fra... den har sine ulemper, men så sandelig også fordele.
Fordelen ved at bruge de indbyggede måder at populere data med er at du ikke skal bekymre dig om at loope hver eneste record igennem, og ønsker du at få data'erne et andet sted fra kan du bare binde en anden type til din DataSource, du skal altså ikke tænke på bindeleddet mellem dine data og dit design. Alt du skal bekymre dig om er hvordan at det skal se ud på siden og hvordan at du henter data'erne ind... bindingsleddet imellem dem står .Net for.
Så ja, der findes smartere måder at gøre det på en at bruge den gamle old asp-style med at loope hele dit recordset igennem.
Jeg har en .xml fil med en masse data. Heraf skal jeg brug to kolonner: Resultatet skal blive som: http://skitur.person.dk/eksperten.htm men når jeg klikker på en linie skal jeg få første kolonne indhold retur i __EVENTTARGET og et valgfrit navn tilbage i __EVENTARGUMENT eller også en anden måde at returnere direkte til en procedure i en indlæse control, med min. første kolonne navn retur
Jeg har prøvet datagrid, datalist og repeater etc. men de virker besværlige hvis man ønsker at tilføje buttonlinks til hver række eller hvis man ønsker bare et noget anderledes design. Jeg troede at fidusen ved dotnet var at man kunne klare det hele i codebehind, men netop disse forhindre det, de tvinger en til at skulle over på html siden igen.
arg... nu forsvandt mit lange indlæg pludselig... her kommer lige et forkortet udgave
Nej, fidusen med codebehind er ikke at du ikke skal over på din html side mere. Fidusen er at det bliver delt op. Fidusen er at du i koden ikke skal bekymre dig om hvordan at aspx-siden er designet når du binder noget data til en data-kontrol. Og du på aspx-siden ikke skal tænke på hvor data'erne kommer fra, så længe de bare kommer.
Jo, du kan da godt droppe at bruge de indbyggede data-kontroller, men så må du indstille dig på enten
1) at udvilke dine egne 2) droppe events og postback (ja, vi er tilbage ved asp)
Og jo, du kan godt skjule nogle kulonner i datagrid. Pas på at du ikke blive frustreret og bander asp.net langt ind i helvede bare fordi at du måske skal omstille din tankegang lidt fra asp og til asp.net
Jeg har stor succes med både events og postback uden brug af data-kontroller, men jeg kan stadig ikke lave min meget simpel side ved brug af datagrid, det syntes jeg er en stor begrænsning.
ja, ovenstående virker jo fint med en enkelt knap på siden... og det er da også ovenståede metode man vil bruge hvis man udvikler sine egne datakontroller. Men der er jo langt fra det lille eksempel med at knytte et event til en knap og til store datastrukturer med ItemCommand, ItemDataBound o.lign.-events som er meget dejlige at bruge når man kender lidt til dem.
Hvis du skal lave en meget simpel side, så er datagrid heller ikke den rette kontrol at bruge. Jeg har kigget på din side, og en repeater med en dertil tilknyttet OnItemDataBound og ItemCommand-event tilknyttet burde være tilstrækkeligt til at klare jobbet.
i sdk'et bruger de også mit eksempel med for-løkken til at skrive rækkerne ud, så det var ikke helt forkert det jeg skrev
Fra sdk'et:
for(int i = 0; i<dv.Count;i++){ Console.WriteLine("\t" + dv[i]["item"]); }
Synes godt om
Ny brugerNybegynder
Din løsning...
Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.