03. marts 2006 - 15:17Der er
23 kommentarer og 1 løsning
Få værdien ud af felter i GridView
Jeg har lavet et GridView, som jeg har fyldt op med dataværdier fra en database. Men jeg vil gerne lave en gennemsnitsberegning ud fra nogle af værdierne. Og i den henseende er jeg ikke interesseret i at lave forespørgsler til databasen igen. Derfor vil jeg gerne gå igennem nogle af felterne inde i GridView'et. Jeg har forsøgt at implementere en IEnumerator, men opgav hurtigt. Nu prøver jeg linien: GridView1.Columns.CloneFields(); Men denne vil heller ikke helt, som jeg vil. Er der nogle, som ved, hvordan jeg kan løse dette problem?
Jeg binder en AccessDataSource til GridView'et. Og dataene kommer også fint nok over i GridView'et. Så er der bare et andet problem: insertfunktionalitetten fungerer heller ikke mere. Men det har jo ikke så meget med traversering af data at gøre.
Dataene bliver hentet ud fra 1 tabel i databasen. Den bliver så lagt over i gridview'et. Og det er så kolonnerne i gridview'et, som der skal laves nogle individuelle beregninger på. Men det vil jo da nok løse sagen, hvis man begynder med at lægge databaseudtrækket over i et dataset, før man lægger data ind i gridview'et.
Nu prøver jeg så at lægge dataudtrækket fra databaseforbindelsen over i et dataset. Men det lykkes ikke. Jeg har blot skrevet: DataSet ds = AccessDataSource2.DataBind(); Og dette vil den ikke. Problemet er vist, at man ikke kan konvertere fra accessdatasourcen til et dataset så let. Men hvordan gøres det så?
Synes godt om
Slettet bruger
06. marts 2006 - 11:35#9
Du skal bruge en DataAdapter til at lave et dataset med og så binde dataset'et til din GridView.
Ja, men bliver jeg så nødt til at lave en forespørgsel til databasen igen for at få de fornødne oplysninger? Jeg kan nemlig ikke rigtig finde instansen af AccessDataSourcen i koden, og kan derfor heller ikke rigtig benytte "Fill"-metoden.
Nu har jeg lavet en implementering, hvor jeg sender sql-resultattet over i et dataset. Men nu kan jeg ikke få adgang til de enkelte værdier i dataset'et. Og det er jo dette, der er hele ideen. Hvordan får jeg fat på hver enkel værdi, så jeg kan foretage nogle beregninger?
Synes godt om
Slettet bruger
07. marts 2006 - 07:19#12
Dataset består at Tables, som igen består at rækker og kolonner, disse egenskaber bruger du til at tilgå data i dataset.
Nej, det er felter fra en kolonne, hvor et bestemt kriterie er opfyldt. Hvor dette kriterie er opfyldt (f.eks. primærnøglen), der skal der laves nogle beregninger på et andet felt i rækken - sammen med det tilsvarende felt i andre rækker fra tabellen.
hvis du har en itemtemplate kan du gøre noget i denne stil <itemTemplate> <asp:Label id="Test" runat="Server" Text='<%# FormatDineFelter((int) Eval("Felt1"), (int)Eval("Felt2")) %>' ></asp:Label> </itemTemplate>
Nu bruger jeg jo VS2005. Hvis man bare går ind i koden, og retter den manuelt til, opfatter VS2205 så det? Altså så det også valid inde i designview'et?
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.