Avatar billede moller2567 Nybegynder
17. maj 2006 - 15:53 Der er 2 kommentarer og
1 løsning

Update parameter fra dropdownliste i gridview

Jeg har et gridview indeholdende et TemplateField, der bl.a. indeholder et editItemTemplateField

I dette editItemTemplatefield har jeg to dropdownlister (en med måneder, og en med år).

Hvordan får jeg værdierne fra de valgte dropdownlister overført til min datasource som updateparametre ?

Jeg har prøvet:
<UpdateParameters>
      <asp:ControlParameter ControlID="drpMaaned" PropertyName="selectedvalue" Name="Maaned" Type="Int32" />
</UpdateParameters>

Men det giver fejlen:

"Kontrolelementet 'drpMaaned' blev ikke fundet i ControlParameter 'Maaned'."
Avatar billede snepnet Nybegynder
19. maj 2006 - 00:44 #1
Er det en anden datasource du har på siden? (ellers virker det en smule sært, at du for hver række skal kunne den slags).
Men ... under alle omstændigheder kommer du nok til at lave det programmatisk... Altså hooke op på et event fra din dropdownliste, og ud fra valget styre din datasourcecontrol.
Mvh
Avatar billede moller2567 Nybegynder
19. maj 2006 - 12:22 #2
Det er jo i en edititemtemplate, så dropdownboksene bliver kun vist, hvis en række er i "edit-mode"

Men nu har jeg selv løst det.

Her er løsningen til info, hvis der skulle være andre med samme problem

På gridviewet kan kan jeg via RowUpdating eventen fange mine dropdownbokse, samt tilføje nye update parametre via MinSqlDataSource.UpdateParameters.Add....

protected void Gridview1_RowUpdating(object sender, GridViewUpdateEventArgs e)
    {
        DropDownList drpAar1 = (DropDownList)Gridview1.Rows[e.RowIndex].FindControl("drpAar");
        DropDownList drpMaaned1 = (DropDownList)Gridview1.Rows[e.RowIndex].FindControl("drpMaaned");

        string dato = drpAar1.SelectedValue + "/" + drpMaaned1.SelectedValue + "/01";
           
        SqlDs_MinSqlDataSource.UpdateParameters.Add(new Parameter("GyldigFra", TypeCode.String, dato));
       
    }
Avatar billede snepnet Nybegynder
19. maj 2006 - 20:07 #3
Well ... det var sådan set også det jeg skrev.

Til en anden gang - så fører du valgte værdier ind som update-parametre med f.eks.:
SelectedValue='<%# Bind("SomePropertyName") %>'
(hvis det er en dropdownlist)
Og du benytter så blot en alm. parameter under dine updateparameters.

I dit scenarie ville jeg overveje at lave en seperat kontrol til det. På den måde vil du kunne benytte en standard 2-vejs databindings syntaks, uden at skulle generere datoen manuelt i koden hver gang.
(Er self. kun rigtig releant, såfremt du har behov for at benytte den slags flere steder i løsningen).

Mvh
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