Avatar billede alpapa Nybegynder
21. juli 2004 - 21:54 Der er 7 kommentarer og
1 løsning

if sætning i en repeater?

Hejsa Eksperter

Hvordan laver man en if sætning i en repeater???

Vil gerne at datoer efter dagsdato bliver markeret med en anden farve...

Programmerer i C#


Eksisterende:
<td><%# string.Format("{0:dd.MM.yy}",DataBinder.Eval(Container.DataItem, "dato"))%></td>


Eksempel som ikke dutter:
<td><%# if(string.Format("{0:dd.MM.yy}",DataBinder.Eval(Container.DataItem, "dato")) > DateTime.Now){Response.Write("jubiii");} %></td>

Eller er der en helt 3 måde at klare det på?

På forhånd tak
alpapa
Avatar billede yellow Nybegynder
21. juli 2004 - 21:59 #1
Brug OnItemDataBound event på din repeater control.
Avatar billede alpapa Nybegynder
21. juli 2004 - 22:14 #2
okay - der er jeg nød til at bede om et eksempel?
Avatar billede yellow Nybegynder
21. juli 2004 - 22:23 #3
Eksempel fra noget tilsvarende jeg lavede - bare et det skulle være en valgt dato der var farvet. Er bare copy pasted fra min egen side, er for søvnig til at lave et tilpasset eksempel ;-)
***************************************************************************
    void EventMonth_ItemDataBound(Object Sender, RepeaterItemEventArgs e) {
      if (e.Item.ItemType == ListItemType.Item || e.Item.ItemType == ListItemType.AlternatingItem){             
        Label myLabel = ((Label)e.Item.FindControl("DateLabel"));
        DateTime itemDate = DateTime.Parse( myLabel.Text );
        if( itemDate == thisMonthCalendar.SelectedDate || itemDate == nextMonthCalendar.SelectedDate ){
          myLabel.Text = "<span style='color:#E6AB30;'>" + myLabel.Text + "</span>";
        }       
      }
    }   
***************************************************************************
                          <asp:Repeater id=EventMonth onitemcommand="EventMonth_Details" OnItemDataBound="EventMonth_ItemDataBound" runat="server">
                            <ItemTemplate>
                              <tr>
                                <td height="25" width="90">
                                <asp:Label id="DateLabel" Text='<%# DataBinder.Eval(Container.DataItem, "Dato", "{0:d}") %>' runat="server" /></td>
                                <td colspan="2"> 
                                  <asp:LinkButton Text='<%# DataBinder.Eval(Container.DataItem, "Navn") %>' CommandArgument='<%# DataBinder.Eval(Container.DataItem, "ArrangementID") %>' runat="server" />
                                </td>
                              </tr> 
                              <tr>
                                <td colspan="3" background="images/stibletVandret.gif"></td>
                              </tr>                                 
                            </ItemTemplate>                           
                          </asp:Repeater>
***************************************************************************
Avatar billede alpapa Nybegynder
21. juli 2004 - 22:35 #4
KANON - det ser fint ud, jeg tilpasser det til mit - smid lige et svar, gul ;-)
Avatar billede yellow Nybegynder
21. juli 2004 - 22:37 #5
Takker :-)
Avatar billede snepnet Nybegynder
21. juli 2004 - 22:49 #6
Bare en bemærkning.
En label renderes som standard som i en div, så at sætte teksten på den måde giver en dobbelt-div.
Hvis der skal tilføjes en style kan det gøres ved :
myLabel.Style.Add("color","#E6AB30");
Avatar billede yellow Nybegynder
21. juli 2004 - 23:00 #7
Ja, enig ;-)
Var ret ny i .NET da jeg lavede ovenstående...
Avatar billede snepnet Nybegynder
21. juli 2004 - 23:15 #8
Du skrev jo også at det bare var et gammelt copy/paste... Den stak bare lige i øjnene :o)
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
Kurser inden for grundlæggende programmering

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