Avatar billede dex_dexter Nybegynder
02. december 2005 - 11:09 Der er 7 kommentarer og
1 løsning

dropdown i datagrid

jeg har et datagrid hvori jeg vil have en dropdownlist i edittemplate for et felt, men jeg har ikke haft held med at gøre dette.

jeg har lavet følgende:

                        <EditItemTemplate>
                            <asp:DropDownList id=Drop runat="server" DataValueField="ID" DataTextField="Name" DataMember="Pref" DataSource="<%# dataset1 %>">                </asp:DropDownList>
                        </EditItemTemplate>

og så i itembound har jeg lavet:

if (e.Item.ItemIndex != -1 && e.Item.ItemIndex == datagrid.EditItemIndex)
            {

DropDownList Drop = e.Item.FindControl("Drop") as DropDownList;
           
Drop.DataBind();
            }


burde det ikke virke? jeg får intet data i dropdownboxen
Avatar billede dex_dexter Nybegynder
02. december 2005 - 13:04 #1
det sjove er at det virker hvis jeg bare laver det i en almindelig collumn
Avatar billede snepnet Nybegynder
06. december 2005 - 17:56 #2
hvad hvis du sætter det hele programmatisk:

DropDownList Drop = e.Item.FindControl("Drop") as DropDownList;
Drop.DataSource = dataset1;           
Drop.DataBind();

mvh
Avatar billede dex_dexter Nybegynder
14. december 2005 - 09:57 #3
undskyld jeg ikke har kommentere, havde faktisk helt glemt det her spørgsmål.

jeg har fået det til nogenlunde at spille, men nu er jeg løbet ind i et andet problem.
jeg har et id liggende i en skjult column i mit datagrid, som når man trykker på edit så skal den værdi markeres i den dropdown jeg har liggende, hvordan får jeg gjort det? jeg kan ikke bare udlæse den til en session som jeg plejer, ej heller til en variable.
hvordan ville du gøre det?
Avatar billede snepnet Nybegynder
14. december 2005 - 10:13 #4
hej dex :o)

jeg vil formode at du har sådan en her (eller noget tilsvarende):

protected void grid_EditCommand(object source, DataGridCommandEventArgs e)
{
  // søhh... først ville jeg så gafle det skjulte felts værdi på alm vis:
  HiddenField hiddenField = e.Item.FindControl("hiddenFieldId") as HiddenField;
  string hiddenValue = hiddenField.Value;
   
  // så få fat i din dropdownlist
  DropDownList drop = e.Item.FindControl("dropdownid") as DropDownList;
  // og sæt den valgte
  drop.Text = hiddenValue;
}

mvh
Avatar billede dex_dexter Nybegynder
14. december 2005 - 10:47 #5
men dropdown´en er vel ikke tegnet i editcommanden? jeg kan i alt fald ikke få fat i den , det eneste sted jeg kan få fat i den er ved at hive i itemdatabound, men der har jeg ikke adgang til mit skjulte felt som i dette tilfælde er en label.
Avatar billede snepnet Nybegynder
14. december 2005 - 11:29 #6
mm... nej det er rigtigt - du kan gøre det sådan her i ItemDataBound:

if (e.Item.ItemIndex != -1 && e.Item.ItemIndex == grid.EditItemIndex)
{
    DropDownList drop = e.Item.FindControl("drop") as DropDownList;
}

men hvorfor har du ikke adgang til dit skjulte felt?
(er det kun noget du indsætter i din ItemTemplate, og ikke i din EditItemTemplate måske?)

mvh
Avatar billede dex_dexter Nybegynder
18. juni 2006 - 21:07 #7
lukker, svar lige
Avatar billede snepnet Nybegynder
28. juni 2006 - 23:03 #8
Ok :o)
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