Avatar billede m_x Nybegynder
14. maj 2004 - 22:16 Der er 8 kommentarer og
1 løsning

Hjælp til produktkatalog - Hente data og binde det

Hejsa

Jeg må hellere lige starte med at fortælle at jeg er ret grøn til ASP.NET... :)

Jeg skal lave et simpelt produktkatalog ud fra en database som indeholder navn, beskrivelse, pris, og filnavn på billede.

Problemet er at jeg ikke helt forstår hvordan jeg skal binde dataen...

Jeg havde forstillet mig at strukturere det med en tabel, men hvordan skal jeg så binde filnavnet til source-atributten på et <img>-tag?
Jeg ville også gerne have forskelligt udseende på <td>'erne - alt efter hvilket felt fra databasen der udskrives i det.

Jeg koder i VB.NET...
Avatar billede jaffafo Nybegynder
14. maj 2004 - 23:05 #1
du skal vist have fat i et datagrid..

Først skal du smide dataen fra din DB i et dataset så Binder du dataen på en datagrid..

til billedet kan du gøre sådan i en customtemplate:

<img src='<% Container.Dataitem("filnavn") %>' />
Avatar billede burningice Nybegynder
14. maj 2004 - 23:08 #2
den går ikke helt... hvis du binder en datatable til et datagrid kommer DataItem til at indeholde et DataRow-object. Man skal derfor enten bruge DataBinder.Eval() metoden, eller caste Container.DataItem til den rigtige type først
Avatar billede jaffafo Nybegynder
14. maj 2004 - 23:14 #3
Jeg er selv ny såe..  :)

<% DataBinder.Eval(Container.Dataitem("filnavn")) %>

ville virke så..
Avatar billede m_x Nybegynder
15. maj 2004 - 00:13 #4
Nu ser min kode sådan ud:

Sub Page_Load()
        Dim strConnection As String = "Provider=Microsoft.Jet.OLEDB.4.0;"
            strConnection += "Data source = G:\inetpub\wwwroot\Roc-A-Feller\db\Database.mdb;"
        Dim  strSQL As String = "SELECT Name, Description, Price, ImagePath FROM Products;"
       
        Dim objConnection As New OLEDBConnection(strConnection)
        Dim objCommand As New OLEDBCommand(strSQL,objConnection)
       
        objConnection.Open()
        dgEmps.DataSource = objCommand.ExecuteReader(CommandBehavior.CloseConnection)
        dgEmps.DataBind()
    End Sub
_____________________________________________________________

<asp:datagrid id="dgEmps" runat="server" cellpadding="0" />
_____________________________________________________________

Hvordan tilretter jeg så selv tabellen, så den bliver knap så... øhm... almindelig?
Jeg ønsker ikke en liste med data fra databasen... Men en præsentation af nogle data... Hvis du/I forstår...
Avatar billede jaffafo Nybegynder
15. maj 2004 - 00:23 #5
det gør du ved CustomTemplate.. f.eks. sådan her:

<asp:datagrid id="DgNyheder" runat="server">
    <columns>
        <asp:TemplateColumn>
            <itemtemplate>
                <TABLE Width="100%" align="center">
                <tr>
                <TD colspan="2">
                <B> Dato : </B><%# Container.DataItem("Name") %>
                </TD>   
                </tr>
                <TR>
                <TD colspan=2>
                    <%# Container.DataItem("Description") %>
                </td>
                </TR>
                <TR>
                <TD colspan=2>
                    <%# Container.DataItem("Price") %>
                </td>
                </TR>
                <TR>
                <TD colspan=2>
                    <%# Container.DataItem("ImagePath") %>
                </td>
                </TR>
                </TABLE>
            </itemtemplate>
        </asp:TemplateColumn>
    </columns>
</asp:datagrid>



Selvf. må du lige rette den til selv...
Avatar billede m_x Nybegynder
15. maj 2004 - 01:18 #6
Fed nok... jeg troede det ville blive lidt bøvlet :)

Men selvom jeg laver en template, er det ligesom at den skriver det ud igen ved siden af den skabelon jeg har lavet - uformateret... hvis du for står... Jeg har det altså to gange...

Er der en attribut eller noget der skal slås til/fra?
Avatar billede jaffafo Nybegynder
15. maj 2004 - 01:23 #7
ja  denne:

AutoGenerateColumns="false"

I dit asp:datagrid tag
Avatar billede m_x Nybegynder
15. maj 2004 - 13:16 #8
Yes... sådan.
Takker.

Stik mig et svar :)
Avatar billede jaffafo Nybegynder
15. maj 2004 - 20:10 #9
svar :-)
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