SQL statement in SqlDataSource verwijzen naar een .Text value?

Status
Niet open voor verdere reacties.

Quindoo

Gebruiker
Lid geworden
27 mei 2009
Berichten
52
Hey,

Ik vroeg me af of het mogelijk is om een SQL statement ( in mijn geval een select statement ) die in een SqlDataSource staat te verwijzen naar een .Text value of iets dergelijks die afkomstig is van een dropdownlist value?

Oftewel, wat mijn doel is, is de repeater ( die gekoppeld staat aan de SqlDataSource ) data te laten zien afhankelijk van hoe een dropdownlist staat. Zo heb ik bijvoorbeeld een entiteit genaamd Inkooporders die een attribuut genaamd status bevat. Nu wil ik dat de SqlDataSource dus gegenereerd wordt op basis van de status waar die op staat.

Dropdownlist ( besteld / geleverd / geannuleerd / etc.. )

Als die dus op besteld staat, dan moet hij dus eigenlijk dit uitbeelden:

SELECT * FROM INKOOPORDERS WHERE STATUS = Besteld

Ik heb al enkele acties geprobeerd, waaronder '" + ddlStatus.Text + "'' etc, maar dit doe ik normaal gesproken in de code behind, en hier ziet het sql commando er iets anders uit i.v.m de accolades ( ' " of helemaal niets ).

Ik hoop dat iemand weet hoe dit moet.
 
Ik dacht een oplossing te hebben, namelijk het volgende:

Code:
protected void Page_Load(object sender, EventArgs e)
    {
        if (!IsPostBack)
        {
            if (drpStatus.Text == "Besteld")
            {
                SqlDataSource1.SelectCommand = "SELECT * FROM INKOOPORDERS WHERE (STATUS = 'Besteld') ORDER BY NAAM";
            }
            else if (drpStatus.Text == "Concept")
            {
                SqlDataSource1.SelectCommand = "SELECT * FROM INKOOPORDERS WHERE (STATUS = 'Concept') ORDER BY NAAM";
            }
            else if (drpStatus.Text == "Geannuleerd")
            {
                SqlDataSource1.SelectCommand = "SELECT * FROM INKOOPORDERS WHERE (STATUS = 'Geannuleerd') ORDER BY NAAM";
            }
            else if (drpStatus.Text == "Geleverd")
            {
                SqlDataSource1.SelectCommand = "SELECT * FROM INKOOPORDERS WHERE (STATUS = 'Geleverd') ORDER BY NAAM";
            }
            else
            {
            }
        }

Dit heb ik in de Page_Load gezet, en dacht dan dat zodra ik de dropdownlist aanpas, waardoor dus de text zou moeten veranderen, dat die de repeater dan opnieuw zou opbouwen, deze blijft echter op Besteld staan.
 
Status
Niet open voor verdere reacties.
Terug
Bovenaan Onderaan