20. september 2002 - 11:12Der er
14 kommentarer og 3 løsninger
Datagrid formatering
Halløjsa
Jeg har et "simpelt" problem. Jeg har hentet data op fra en database, og placeret dem i et datagrid. Ud for hver række i mit datagrid vil jeg gerne angive et navn/beskrivelse af indholdet i rækken. Desuden vil jeg gerne have mulighed for at angive en overskrift på mit datagrid. I øjeblikket står der "Item"!!!!! Pleace help!!!!
Ja, det ene af problemerne er en kolonneoverskrift. Når jeg gør som du skriver så laver den en ny kolonne til venstre for den kolonne mine data er bundet til, og skriver overskriften over den. (Dette har jeg også selv prøvet). Men jeg kan ikke lave en overskrift over den mine data er i!!??:-(
Det andet problem er at hvis jeg laver en kolonne til venstre for min "datakolonne", så skal den indeholde beskrivelserne af hvad der er i "datakolonnen". ("datakolonnen") eks: Beskrivelse Data
Sum 100(fra db) antal personer 4(fra db) kroner 500(fra db)
Problemet er altså at få skrevet Data over "datakolonnen", og få beskrivelserne (sum, antal personer....osv) påført mit datagrid. Håber dette kan illustrerer problemet:-)
Til Odegaard: Der er så bare det problem, at jeg henter forskellige ting fra databasen og beregner mm. for så at smide værdierne op i en ArrayList der bindes til DataGrid. Derfor kan jeg ikke angive navnet i sql stringen.
Til askhoej: Værdierne(ArrayListen) jeg skal have smidt op i mit datagrid ligger i en .cs klasse, og jeg vil helst undgå at blande funktionaliteten ind i min .aspx fil. Kan det lade sig gøre??
tomniels > Det var skam heller ikke den kønne løsning, men den nemme. Måden at gøre det på er netop ved custom templates. Hér kan du også vælge kolonne-overskrifter. Kig i din SDK. Det er gode eksempler dér.
askhoej>> Det er heller ikke et problem at få vist ArratListen i mit datagrid, det virker godt nok... Ang. db'en, så henter jeg data i forskellige tabeller i db'en fra forskellige klasser for tilsidst at samle det hele til en ArrayList, som det så er planen at vise i et dataGrid. Derfor vil det være mest hensigtsmessigt hvis jeg kan beholde min ArrayList.
Du kan nu sagtens samle to dataset i ét. Det kan gøres med én enkel kommando, uden du behøver at løbe alle rækker igennem. Anyway, det bør ligne noget i denne stil: <asp:DataGrid id="MyDataGrid" runat="server" utoGenerateColumns="false"> <Columns> <asp:BoundColumn HeaderText="Description" DataField="Item"/> </Columns> </asp:DataGrid>
odegaard>> Nu har jeg prøvet at sætte det du har lavet ind i min aspx fil. Men den kan ikke forstå "Item". Hvad er det der skal sættes i DataField??? Når dataField undlades laver den blot en ny (tom) kolonne ved siden af "datakolonnen" med den overskrift jeg har angivet:-(
Hej igen - beklager den lange ventetid, jeg har haft lidt travl:-)
ang. mit problem omkring visningen af data i mit dataGrid, så har jeg fået løst problemet på en lidt anden måde end I forslår. I min .cs fil laver jeg kolonnerne og smider dataene ind i disse:
DataSet ds = new DataSet();//Laver nyt dataset til teksten DataTable data = ds.Tables.Add("Vises"); //Opretter tre nye Kolonner i tabellen data.Columns.Add("Område", typeof(string)); data.Columns.Add("Snit", typeof(float)); data.Columns.Add("Links", typeof(string)); DataRow dr;
for (int i = 0; i < t.Count; i++) // Samler teksten og dataene i et dataset { dr = data.NewRow(); dr[0] = t[i]; dr[1] = al[i]; dr[2] = l[i]; data.Rows.Add(dr); } dg.DataSource = ds; dg.DataBind();
//********************************************
t, al og l er alle ArrayLister som smides I datagrid'et.
Da jeres ideer selvfølgelig har været med til at lede mig på sporet, har jeg valgt at dele pointene mellem os. Tak for hjælpen:-)
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.