2010-04-23 7 views
0

J'insère une liste dropdwon dans datagrid lors de l'édition de ligne. Lorsque je lance le projet, la source de données n'est pas reconnue de nouveau. La partie asp.net est là:asp.net dropdown iniside datagrid

<asp:TemplateField HeaderText="Lookup 1"> 
          <EditItemTemplate> 
            <asp:DropDownList  
            ID="Loocup1DropDownList"  
            Width="100%" 
            runat="server" 
            DataSource ="<%GetValueForDropDownCombinationContent()%>" 
            DataValueField="LOOKUP_ID" 
            DataTextField="lookup_name" > 
           </asp:DropDownList> 

          </EditItemTemplate> 
          <ItemTemplate> 
           <asp:Label ID="LOOKUP1_NAME" runat="server" Text='<%# Bind("LOOKUP1_NAME") %>'></asp:Label> 
          </ItemTemplate> 

Ceci est la fonction vb.net:

Fonction protégée GetValueForDropDownCombinationContent() As DataSet

Dim dsProductLookups As New DataSet 
    dsProductLookups = DocumentManager.Data.DataRepository.Provider.ExecuteDataSet("sp_GetCombinationsLookups", productCombo.SelectedValue) 
    Return dsProductLookups 
End Function 

des idées ???

+0

Peut-être qu'il devrait être: DataSource = "<% # GetValueForDropDownCombinationContent()%>" – miensol

+0

DataSource = "<% # GetValueForDropDownCombinationContent()%>" ne le font pas travail –

Répondre

1

La première chose que vous devriez regarder est la façon dont vous appliquez votre source de données. Il doit être

DataSource='<%# GetValueForDropDownCombinationContent() %>' 

Utilisez les guillemets simples au lieu de guillemets. Au moins cela fonctionne 100% en C#, et j'espère que c'est la même dans VB.NET ..

Deuxièmement - vous n'avez pas défini la valeur sélectionnée il y a:

SelectedValue='<%# Bind("LOOKUP1_NAME") %>' 

Avec ces deux appliquée - vous devriez avoir aucun problème pour votre menu déroulant pour travailler)