Avatar billede jebzki Nybegynder
12. maj 2008 - 22:53 Der er 5 kommentarer

Datagrid visning - hjælp!

Hey, jeg har lige fået lavet en sql-datasource implementeret til mit datagrid.

Men ligenu, viser den kun teksten i selve kolonnerne i min MySQL.

Hvad hvis jeg ønsker selve feltet "baggrunde" skal vises som et billede, hvordan konfiguerer jeg typerne fra MySQL til tabellen som datagrid automatisk generer?

Jeg får dette output:
http://codecity.dk/Datagrid.aspx

Jeg ønsker så, at "Baggrunde", skal vises som billede.

På forhånd tak - og her er min kode:

<asp:GridView id="MyGridView"
    DataSourceID="MyDataSource1"
    AllowSorting="True"
    AllowPaging="True"
    DataKeys="au_id"
    AutoGenerateEditButton="False"
    Runat="Server" PageSize="15"/>
   
<asp:SqlDataSource ID="MyDataSource1" runat="server"
  ConnectionString="xxx"
  ProviderName="System.Data.Odbc"
  SelectCommand="SELECT titel, tekst, baggrund FROM baggrundeside">
</asp:SqlDataSource>
Avatar billede jebzki Nybegynder
12. maj 2008 - 22:54 #1
Apopros; Hvordan opstiller jeg tingene til datagrid?

jeg ønsker f.eks første kolonne skal vise:

<strong>Overskrift</strong><br />Beskrivelse, og ikke i 2 forskellige "kolonner" i tabellen ved udskrivning.
Avatar billede mikalj Nybegynder
13. maj 2008 - 10:27 #2
easy. Templatefields er din ven. Lader dig bestemme hvad du vil have i alle celler i en kolonne.

<asp:GridView id="MyGridView" DataSourceID="MyDataSource1" AllowSorting="True"
    AllowPaging="True" DataKeys="au_id" AutoGenerateEditButton="False"
    Runat="Server" PageSize="15" >

  <Columns>
    <asp:TemplateField HeaderText="Titel" SortExpression="titel">
      <ItemTemplate>
        <asp:Label ID="LabelTitel" runat="server"
          Text='<%# Eval("titel") %>'></asp:Label>
      </ItemTemplate>
    </asp:TemplateField>

    <asp:TemplateField HeaderText="Tekst" SortExpression="tekst">
      <ItemTemplate>
        <asp:Label ID="LabelTekst" runat="server"
          Text='<%# Eval("tekst") %>'></asp:Label>
      </ItemTemplate>
    </asp:TemplateField>

    <asp:TemplateField HeaderText="Baggrund" SortExpression="baggrund">
      <ItemTemplate>
        <img alt="" src='<%# Eval("baggrund") %>' />
      </ItemTemplate>
    </asp:TemplateField>

  </Columns>

</asp:GridView>

Bemærk at Eval() har en overload der tager 2 argumenter
Eval(string field, string formatstring)
som du f.eks. kan bruge her hvis dine baggrundsbilleder ikke ligger i samme mappe som .aspx siden, hvor det så kunne se ud som følgende i img tagget

<img alt="" src='<%# Eval("baggrund", "/images/baggrunde/{0}") %>' />

{0} vil blive erstattet af det som databasefeltet "baggrund" indeholder
Avatar billede mikalj Nybegynder
13. maj 2008 - 10:27 #3
svar forresten
Avatar billede jebzki Nybegynder
13. maj 2008 - 12:23 #4
hmm, jeg har fint nok fået billedet osv til at fungere, men at placere 2 felter i een kolonne, kan jeg ikke lige få til at passe sammen. jeg vil have placeret titel og beskrivelse i samme kolonne, og ikke i 2 hver for sig. kan du hjælpe mig på sporet?

<asp:GridView ID="GridView1" runat="server" AllowPaging="True" AllowSorting="True"
            AutoGenerateColumns="False" BorderStyle="None" BorderWidth="0px" DataSourceID="MyDataSource1"
            ShowHeader="False" GridLines="None">
            <Columns>
                <asp:ImageField DataImageUrlField="baggrund" HeaderText="Preview" DataAlternateTextField="titel" DataImageUrlFormatString="http://xxxx/baggrundsbilleder/{0}">
                    <ControlStyle Height="50px" Width="100px" />
                </asp:ImageField>
                <asp:BoundField DataField="titel" HeaderText="Titel" />
                <asp:BoundField DataField="tekst" HeaderText="Beskrivelse" />
            </Columns>
            <PagerSettings LastPageText="Forrige" Mode="NextPreviousFirstLast" NextPageText="N&#230;ste" />
        </asp:GridView>
Avatar billede mikalj Nybegynder
13. maj 2008 - 13:11 #5
Det har jeg sådan set allerede beskrevet i min første post. TemplateFields er din ven.

  <Columns>
    <asp:TemplateField HeaderText="Titel, beskrivelse" SortExpression="titel">
      <ItemTemplate>
        <asp:Label ID="LabelTitel" runat="server" Text='<%# Eval("titel") %>'></asp:Label>,
        <asp:Label ID="LabelBeskrivelse" runat="server" Text='<%# Eval("beskrivelse") %>'></asp:Label>
      </ItemTemplate>
    </asp:TemplateField>
  </Columns>
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