Avatar billede repsak Nybegynder
14. oktober 2003 - 13:58 Der er 2 kommentarer og
2 løsninger

Ændre i datalist under binding

Jeg har en dataliste som indeholder 4 items. Jeg skal så have lavet noget i retning af:

hvis datalist.itemnummer = Response.QueryString["index"] så gør skriften BOLD ellers bare udskriv item som normalt.

hvordan gør jeg det? (skal garanteret igang med nogle events, men hvordan?)
Avatar billede askhoej Praktikant
15. oktober 2003 - 09:22 #1
Du kan nok gøre noget i denne her retning:

dinfil.aspx:

<%# MakeBold(Convert.ToInt32(DataBinder.Eval(Container.DataItem, "ID")),DataBinder.Eval(Container.DataItem, "TEXT").ToString())%>



dinfil.aspx.cs (code-behind):

public string MakeBold(int intId,string strText)
{
    if(intId == Convert.ToInt32(Response.QueryString["index"]))
    {
        return "<b>" + strText + "</b>";
    }
    else
    {
        return strText;
    }           
}
Avatar billede repsak Nybegynder
15. oktober 2003 - 09:44 #2
det jeg mener med itemnumber er ikke DataBinder.Eval(Container.DataItem, "ID"), men "den første linje i datalisten har nummer 1, anden linje nummer 2 osv". Jeg kan således ikke aflæse nummeret direkte, men skal på en måde finde det... You know how??? :-)
Avatar billede askhoej Praktikant
15. oktober 2003 - 10:03 #3
har ikke rodet så meget med DataList, så du kan få en løsning til et DataGrid og så enten bruge sådan et eller omskrive :-)

dinfil.aspx:
<asp:DataGrid Runat="server" OnItemCreated="DataGridItemCreated"></asp:DataGrid>

dinfil.aspx.cs (code-behind):
protected void DataGridItemCreated(Object sender,DataGridItemEventArgs e)
{
    if(e.Item.ItemIndex = Convert.ToInt32(Response.QueryString["index"]))
    {
        //Find din celle
        TableCell tcText = new TableCell();
        tcText = e.Item.Cells(0);
        tcText.Text = "<b>" + tcText.Text + "</b>";
    }
}

/askhoej :-)
Avatar billede repsak Nybegynder
15. oktober 2003 - 10:29 #4
Jeg fik løst det selv (men tak for inspirrationen :-)

protected void dalQuestion_ItemCreated(Object sender, DataListItemEventArgs e){
  if(e.Item.ItemIndex == Convert.ToInt32(index)-1){
    e.Item.Font.Bold = true;
  }
}
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