Avatar billede ghost1 Nybegynder
13. september 2007 - 00:04 Der er 8 kommentarer og
1 løsning

image i gridview

Hej
Mit spg lyder

Jeg har et gridview der henter henter data fra en database.. en af felterne peger på et billednavn - det virker også fint nok.. men jeg vil gerne hvis feltet er tomt i db at den ik bare viser det der missing picture..
På ondatabind kan jeg tjekke om der faktisk er et billedenavn i db, og hvis der så ikke er ville jeg gerne sætte et default image ind.. hvordan gør jeg det.. ?
Avatar billede neoman Novice
13. september 2007 - 00:10 #1
Du skal bruge RowDataBound eventet, fordi det trigges for hver række.

Inde i eventet kan du tage fat i det felt som dit image sidder i, og ændre det til at pege på dit default image.
Avatar billede ghost1 Nybegynder
13. september 2007 - 00:11 #2
har du noget kode på det.. men ja det gir mening
Avatar billede neoman Novice
13. september 2007 - 00:12 #3
kommer an på hvordan du viser dit image - er det et tamplatefield eller hva ??
Avatar billede neoman Novice
13. september 2007 - 00:14 #4
Protected Sub GridView2_RowDataBound(ByVal sender As Object, ByVal e As System.Web.UI.WebControls.GridViewRowEventArgs) Handles GridView2.RowDataBound
        Dim gvRow As GridViewRow
        gvRow = e.Row
        If gvRow.RowType = DataControlRowType.DataRow Then
' her kan du så lave det du skal
 
       
        End If
    End Sub
Avatar billede ghost1 Nybegynder
13. september 2007 - 10:12 #5
ja den ligger i et templatefield og kører med c#
men kan godt "decode" vb´en :P
Avatar billede ghost1 Nybegynder
13. september 2007 - 14:39 #6
Løsningen.... c# 

protected void OnRowDataBound_test(object sender, GridViewRowEventArgs  e)
    {
        if (e.Row.DataItemIndex > -1)
        {
            if (((System.Data.DataRowView)(e.Row.DataItem)).Row.ItemArray[5].ToString() == "" || File.Exists(((System.Data.DataRowView)(e.Row.DataItem)).Row.ItemArray[5].ToString()) == false)
            {

           


                Image Image2 = (Image)e.Row.FindControl("image2");

                Image2.ImageUrl = "images/trans.gif";
       
        }


        }
    }
Avatar billede ghost1 Nybegynder
13. september 2007 - 14:39 #7
smid et svar neoman , så får du points.. du ledte mig jo den rigtige vej :)
Avatar billede neoman Novice
13. september 2007 - 15:05 #8
svar;) - gad vide om din kode vil fungere uden at crashe, hvis du har header/footer rows - det er derfor det er en god ting at checke på typen.
Avatar billede ghost1 Nybegynder
14. september 2007 - 13:07 #9
ja det har du ret i, men det har jeg ikke i dette tilfælde.. men derfor jeg har "if (e.Row.DataItemIndex > -1)" på også, da den første række med headline jo ikke indeholder nogle images.. men god tese fremover at checke for :)
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