Avatar billede frosty-dk Nybegynder
11. oktober 2007 - 23:52 Der er 7 kommentarer og
1 løsning

Datetime uden tid og limit på bogstaver

Hej eksperter,

Jeg har 2 "lille" spørgsmål jeg håber i kan hjælpe mig med.

Nr.1: Som det er nu har jeg en lable som henter datatime fra databasen, men den henter fx. "10-11-2007 21:28:27".. kan man ikke sige i c# at når den har hentet den skal den ikke skrive tiden altså "21:28:27" og kun skriver datoen, og derved forkorter database udgaven.

Nr.2: Jeg har endnu en label med tekst fra en database, er det muligt at sige at den label fx har et limit på 200 bogstaver og derefter skriver fx. ".." så derved lave en der limiter bogstaverne i labelen selvom der står mere i det tekst den henter.

Håber i forstår og på forhånd tak,
Thomas Frost
Avatar billede Syska Mester
12. oktober 2007 - 00:01 #1
ved ikke hvordan du henter ud, men almindelig formateret kan du bruge ..

DateTime dt = DateTime.Now;
dt.ToShortDateString();

dt er så dit DateTime object fra databasen ...

string s = "dette er en lang tekst, som bliver forkertet efter 10 bogstaver";
if(s.Length >= 10)
{
s = s.Substring(0, 10) + " ...",
}
label1.Text = s;

Ikke testet ... måsek nogle tryk fejl .. men idden er der.

// ouT
Avatar billede frosty-dk Nybegynder
12. oktober 2007 - 00:12 #2
ser lige om jeg kan få det til at virke mangetak!

skriv et svar:P
Avatar billede Syska Mester
12. oktober 2007 - 00:23 #3
Ok ...

Du siger bare til hvis der er mere ... :-)

// ouT
Avatar billede frosty-dk Nybegynder
12. oktober 2007 - 00:33 #4
kan ikke gennemskue den her :/

        string s = Text;
        if(s.Length >= 10)
        {
            s = s.Substring(0, 10) + " ...";
        }

        SqlDataReader dr = dal.GetReader("GetNewsTop1");

        if (dr.HasRows)
        {
            dr.Read();
            LblNewsDate.Text = dr["NewsDate"].ToString();
            LblNewstitle.Text = dr["NewsTitle"].ToString();
            LblNewsText = dr["NewsText"].ToString();

            dr.Close();
        }

Håber du kan se hvad det er, altså den skal jo hente det fra datareaderen og så bruge det i det script du gav mig og så derefter skrive det i labelen LblNewsText.
Avatar billede frosty-dk Nybegynder
12. oktober 2007 - 00:45 #5
Jeg har løst det ved at skrive:

if (dr.HasRows)
        {
            dr.Read();
            LblNewsDate.Text = dr["NewsDate"].ToString();
            LblNewstitle.Text = dr["NewsTitle"].ToString();
            LblNewsText.Text = dr["NewsText"].ToString();

            dr.Close();
        }
        if (LblNewsText.Text.Length >= 10)
        {
            LblNewsText.Text = LblNewsText.Text.Substring(0, 10) + "...";
        }
Avatar billede frosty-dk Nybegynder
12. oktober 2007 - 01:00 #6
for lige at poste den sidste løsning også:

if (LblNewsDate.Text.Length >= 10)
        {
            LblNewsDate.Text = LblNewsDate.Text.Substring(0, 10) + "";
        }

Brugte samme princip som virker helt fint!
Avatar billede Syska Mester
12. oktober 2007 - 06:54 #7
DateTime dt = (DateTime)dr["NewsDate"];

LblNewsDate.Text = dt.ToShortDateString();

Nok en mere korrekt løsning ...

// ouT
Avatar billede frosty-dk Nybegynder
13. oktober 2007 - 13:30 #8
mange tak virker perfekt:D
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