Avatar billede Max Novice
23. oktober 2006 - 13:21 Der er 9 kommentarer og
1 løsning

Hente bestemt værdi fra en SqlDatasource

Hej igen.

Jeg er ved at lave en side i ASP.NET 2.0 med C# codebehind, og har fået lidt problemer.

Kan det ikke lade sig gøre at tilgå data i en SqlDatasource direkte? Det jeg mener er; normalt har man (det har jeg også) et eller andet element på sin side, som i en eller anden form for tabel, viser de data, som SqlDatasourcen indeholder. Det er også meget fint. Jeg har en DataList, som viser nogle af dataene fra SqlDatasourcen, men.. Nu vil jeg gerne have fat i en af de værdier, som ikke er vist i min DataList, men som dog er i SqlDatasourcen.

Det jeg prøver at få den til, er at vise en lang tekst fra et felt i min tabel i SQL databasen i en TextBox på min side.

Øh, ved godt det lyder lidt kryptisk, men jeg håber I forstår.

Mvh.
Avatar billede thanse21 Nybegynder
24. oktober 2006 - 08:34 #1
Ehm, hvis du for hevet data op med din SqlDataSource og dit lange tekstfelt er med kan du vel bare binde feltet til en textbox i din DataList?
Ellers er jeg ikke sikker på jeg forstår. Prøv at smide lidt kode op.
Avatar billede Max Novice
24. oktober 2006 - 15:02 #2
Hvordan kan jeg gøre det? En TextBox har ikke nogen DataSourceID parameter..(?)

Mvh.
Avatar billede Max Novice
25. oktober 2006 - 09:22 #3
Her kommer lidt kode:

(.aspx-filen)
-------------
...
    <asp:SqlDataSource ID="sqldsLog" runat="server"></asp:SqlDataSource>
    <asp:DataList ID="dtlList" runat="server" CellPadding="4" DataSourceID="sqldsLog"
        ForeColor="#333333" ShowFooter="False" ShowHeader="False" Width="100%" OnItemCommand="dtlList_ItemCommand"
        DataKeyField="ID">
        <FooterStyle BackColor="#507CD1" Font-Bold="True" ForeColor="White" />
        <SelectedItemStyle BackColor="#D1DDF1" Font-Bold="True" ForeColor="#333333" />
        <AlternatingItemStyle BackColor="White" Font-Bold="False" Font-Italic="False" Font-Overline="False"
            Font-Strikeout="False" Font-Underline="False" Wrap="True" />
        <ItemStyle BackColor="#EFF3FB" Font-Bold="False" Font-Italic="False" Font-Overline="False"
            Font-Strikeout="False" Font-Underline="False" Wrap="True" />
        <HeaderStyle BackColor="#507CD1" Font-Bold="True" ForeColor="White" />
        <ItemTemplate>
            <table id="tblListItem" runat="server">
                <tr>
                    <td>
                        <asp:ImageButton ID="ibtnView" ImageUrl="../images/docvw2.gif" runat="server" ToolTip="Vis teksten"
                            CssClass="btn2" BorderColor="#2f2f2f" BorderStyle="dotted" BorderWidth="1px"
                            CommandName="view" />
                    </td>
                    <td>
                        <asp:ImageButton ID="ibtnEdit" ImageUrl="../images/docedt2.gif" runat="server" ToolTip="Ret teksten"
                            CssClass="btn2" BorderColor="#2f2f2f" BorderStyle="dotted" BorderWidth="1px"
                            CommandName="edit" />
                    </td>
                    <td>
                        <asp:ImageButton ID="ibtnDelete" ImageUrl="../images/docdel2.gif" runat="server"
                            ToolTip="Slet teksten" CssClass="btn2" BorderColor="#2f2f2f" BorderStyle="dotted"
                            BorderWidth="1px" CommandName="delete" OnLoad="ibtnDelete_OnLoad" />
                    </td>
                    <td>
                        &nbsp;
                    </td>
                    <td>
                        <div class="listitem" onclick="listItem_Click">
                            [<%# DataBinder.Eval(Container.DataItem, "ID") %>]&nbsp;
                            <%# DataBinder.Eval(Container.DataItem, "EntryDate", "{0:dd/MM-yyyy - kl. H:mm:ss}") %>
                            <br />
                            <b>
                                <%# DataBinder.Eval(Container.DataItem, "EntryHead") %>
                            </b>
                            <br />
                            <i>"<%# DataBinder.Eval(Container.DataItem, "EntrySub") %>"... </i>
                            <br />
                        </div>
                    </td>
                </tr>
            </table>
        </ItemTemplate>
        <SeparatorStyle Font-Bold="False" Font-Italic="False" Font-Overline="False" Font-Strikeout="False"
            Font-Underline="False" ForeColor="Gray" />
    </asp:DataList>
...

(.aspx.cs-filen)
----------------
... (I Page_Load delen)
        sqldsLog.ConnectionString = ConnectDB;
        sqldsLog.SelectCommand = "SELECT * FROM LB ORDER BY EntryDate DESC";
        dtlList.DataBind();
...

(spekulér ikke over ConnectDB, den er god nok ;)

Hmmm.. Har jeg glemt noget? Skriv lige igen, hvis det ikke giver mening. Det er klippet ud af en større sammenhæng. ;)

Mvh.
Avatar billede Max Novice
25. oktober 2006 - 09:25 #4
Nåja, i .aspx-filen er der selvfølgelig også en TextBox. Den hedder tbText, og der er ikke lavet noget specielt ved den.

Mvh.
Avatar billede Max Novice
25. oktober 2006 - 14:10 #5
En kommentar til det med at binde data til TextBox'en; TextBox'en er ikke en del af DataListen.

Mvh.
Avatar billede thanse21 Nybegynder
25. oktober 2006 - 16:09 #6
Ok, på den lumske facon :-)
Altså textboxen skal indeholde noget tekst baseret på et valgt item i DataListen.
Det hurtigste ville nok være at en metode der kan give dig teksten baseret på hvilket item der er valgt i listen. Tror ved nærmere eftertanke det er det eneste du kan gøre, idet din ItemCommand ligger på en div.
Avatar billede Max Novice
27. oktober 2006 - 11:46 #7
Hehe, ja, man er vel lidt smålummer! ;)
Nogle idéer til hvordan jeg bærer mig ad med det? Jeg er ret blank mht. den datasource.. :-/
Avatar billede thanse21 Nybegynder
27. oktober 2006 - 14:12 #8
Hmm, ja din event ligger på en div. Der har du ikke så mange muligheder for at få det id der er valgt.
Hvis du bruger din ItemCommand istedet for listItem_Click kan du hive id'et ud på det item der bliver klikket på, og derigennem finde frem til teksten.
Avatar billede Max Novice
30. oktober 2006 - 08:31 #9
Hov? Glem den div. Det er gammel kode, og er egentlig væk. ItemCommand bruges rent faktisk. Jeg forstår bare ikke at få fat i de bestemte data fra SqlDatasourcen.
Avatar billede Max Novice
24. november 2006 - 10:11 #10
Kommer vist ikke videre her. Lukker spm.
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