Avatar billede scarface335 Nybegynder
24. august 2006 - 10:37 Der er 11 kommentarer og
1 løsning

Dato formatting

Jeg har en datasource og et datagrid, i min database er der et felt der hedder Dato og er af typen datetime, når det bliver vist i gridet ser det således ud: 23-08-2006 00:00:00, da jeg kun gemmer datoen og ikke tiden, er der en måde hvorpå jeg kan få gridet til kun at vise datoen og ikke tidspunktet.
Avatar billede jokkejensen Novice
24. august 2006 - 10:38 #1
.ToString("DD-MM-YYYY")

Mvh
Avatar billede scarface335 Nybegynder
24. august 2006 - 10:42 #2
Jeg skal bruge aps.net kode da jeg ikke har fat i objekterne fra cs klassen
Avatar billede scarface335 Nybegynder
24. august 2006 - 10:43 #3
Og vis det kan gøres fra cs klassen hvilken metode skal formatteringen så ske i ??
Avatar billede nielle Nybegynder
24. august 2006 - 10:46 #4
Hvad er der i vejen med den kode du fik i går?

http://www.eksperten.dk/spm/727722
Avatar billede scarface335 Nybegynder
24. august 2006 - 10:52 #5
Ingenting den virker fint, problemet er at jeg først kan formatarere efter at dataene er indsat vil gør at jeg nogle gange får vist datoen før den er blevet formateret.
Avatar billede scarface335 Nybegynder
24. august 2006 - 10:56 #6
Ligesom der er en metode .protected void Calendar2_SelectionChanged(object sender, EventArgs e)
som bliver kaldt når man skifter dato på en kalender eller: protected void Button1_Click(object sender, EventArgs e) som bliver kaldt når man trykker på knappen, er der en tilsvarende metode som bliver kladt når Gridview har fået dataene (DataBound)
Avatar billede scarface335 Nybegynder
24. august 2006 - 11:02 #7
Jeg håbede lidt på at nogen kan hjælpe mig med at tilføje formatteringen til asp koden
<asp:BoundField DataField="Dato" HeaderText="Dato" SortExpression="Dato" />
Avatar billede scarface335 Nybegynder
24. august 2006 - 12:14 #8
Tilføj den linje til apsx filen : OnRowdatabound="GridView1_RowDataBound" den skal selvgølgelig til mellem disse to tags <asp:gridview </asp:GridView> og så skal der tilføjes en metode til aspx.cs klassen

protected void GridView1_RowDataBound(object sender, GridViewRowEventArgs e)
    {
        try
        {
           
            string s = e.Row.Cells[8].Text.ToString();
            DateTime dt = Convert.ToDateTime(s);
            e.Row.Cells[8].Text = dt.ToString("d");
            Image1.Visible = false;
        }
        catch (Exception a)
        {
           
        }
    }
Avatar billede thrytter Nybegynder
24. august 2006 - 13:12 #9
>> Jeg håbede lidt på at nogen kan hjælpe mig med at tilføje formatteringen til asp koden
>> <asp:BoundField DataField="Dato" HeaderText="Dato" SortExpression="Dato" />

Prøv
<asp:BoundField DataField="Dato" HeaderText="Dato" SortExpression="Dato" DataFormatString="{0:d}/>


dt.ToString("d") = dt.ToShortDateString();
Avatar billede scarface335 Nybegynder
24. august 2006 - 16:24 #10
Har prøvet både den og {o:c} virker ikke, men du kan bare gøre det som beskrevet som jeg har beskrevet ovenfor så virker det, jeg fandt eksemplet på msdn.com
Avatar billede thrytter Nybegynder
24. august 2006 - 20:19 #11
Har nu ikke selv problemer med at lave formatteringen i aspx filen, og ser derfor ingen grund til at gøre det i codebehind - er dog kun testet i 1.1 men burde vel også kunne lade sig gøre i 2.0. Der manglede desværre et " efter {0:d}.

Mener forøvrigt at du misbruger try/catch.
http://msdn.microsoft.com/library/default.asp?url=/library/en-us/cpguide/html/cpconDevelopingHigh-PerformanceASPNETApplications.asp
Avatar billede thrytter Nybegynder
24. august 2006 - 20:20 #12
Avatar billede Ny bruger Nybegynder

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.

Loading billede Opret Preview
Kategori
IT-kurser om Microsoft 365, sikkerhed, personlig vækst, udvikling, digital markedsføring, grafisk design, SAP og forretningsanalyse.

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester