Avatar billede bengun Novice
07. juni 2007 - 09:02 Der er 6 kommentarer og
1 løsning

Binding mellem to datakontroller

Hej

Jeg har senarie:

En combobox der udfra en SQLdataSource viser indholdet af en branche tabel.

En DataList der udfra en anden SQLdataSource skal vise de kunder der er i den valgte branche.

Jeg har defineres det hele, men kan ikke finde ud af hvorfor min Dataliste ikke "køres" / viser de fundne data?

Kode:
<%@ Page Language="C#" MasterPageFile="~/MasterPage.master" Title="Untitled Page" %>
<asp:Content ID="Content1" ContentPlaceHolderID="ContentPlaceHolder1" Runat="Server">

    <asp:SqlDataSource ID="SqlDataSource1" runat="server" ConnectionString="<%$ ConnectionStrings:Colliers_CRMConnectionString %>"
        SelectCommand="SELECT * FROM [CRM_Branche] ORDER BY [Branche]">
    </asp:SqlDataSource>

    <asp:SqlDataSource ID="SqlDataSource2" runat="server" ConnectionString="<%$ ConnectionStrings:Colliers_CRMConnectionString %>"
        SelectCommand="SELECT [KOBNummer] FROM [CRM_Kunde] WHERE ([BrancheId] = @BrancheId)">
        <SelectParameters>
            <asp:ControlParameter
                ControlID="DropDownList1"
                Name="BrancheId"
                PropertyName="SelectedValue"
                Type="Object"
            />
        </SelectParameters>
    </asp:SqlDataSource>

    <asp:DropDownList ID="DropDownList1" runat="server"
        AutoPostBack="True"
        DataSourceID="SqlDataSource1"
        DataTextField="Branche"
        DataValueField="BrancheId"
        Style="z-index: 100; left: 205px; position: absolute; top: 110px"
        Width="295px">
    </asp:DropDownList>

    <asp:DataList ID="DataList1" runat="server"
        BorderColor="Black" BorderWidth="1px" CellPadding="4"
        DataSourceID="SqlDataSource2" ForeColor="#333333" GridLines="Both"
        Style="z-index: 101; left: 20px; position: absolute; top: 165px">

        <FooterStyle BackColor="#507CD1" Font-Bold="True" ForeColor="White" />
        <SelectedItemStyle BackColor="#D1DDF1" Font-Bold="True" ForeColor="#333333" />
        <ItemTemplate>
            KOBNummer:
            <asp:Label ID="KOBNummerLabel" runat="server" Text='<%# Eval("KOBNummer") %>'></asp:Label><br />
            <br />
        </ItemTemplate>
    </asp:DataList>

</asp:Content>
Avatar billede neoman Novice
07. juni 2007 - 09:09 #1
Din DDL synes ikke at have nogen events. Har du prøvet at lave SelectedIndexChanged event for DropDownList1, og i det event  rebinde din DataList1 ? Dvs køre

Datalist1.DataBind ?
Avatar billede bengun Novice
07. juni 2007 - 09:20 #2
Jeg har tilføget følgende til min kode, men det giver bare en kompileringsfejl:

<script runat="server">
    protected void DropDownList1_SelectedIndexChanged(object sender, EventArgs e)
    {
        DataList1.DataBinding;
    }
</script>
Avatar billede neoman Novice
07. juni 2007 - 09:44 #3
Hvad er DataList1.DataBinding ?
Avatar billede neoman Novice
07. juni 2007 - 10:18 #4
.. og hvis du ikke gør andet end ovenstående, så skal du formentligt også sætte AutoWireup=true i din page directive.
Avatar billede bengun Novice
07. juni 2007 - 11:06 #5
Har fundet en løsning.

Jeg lagde det hele ind i et DataSet og så virkede det som det skulle.

Send et svar, så du kan få lidt point. Du gjorde trods alt en indsats for at hjælpe.
Avatar billede neoman Novice
07. juni 2007 - 11:11 #6
Pyt med points - nu fik du det selv til at køre.
Avatar billede bengun Novice
07. juni 2007 - 11:47 #7
:o)
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