2010-04-23 24 views
0

我在行編輯中的datagrid中插入dropdwon列表。當我運行該項目時,數據源不會被重新識別。所述asp.net部分是存在的: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> 

這是vb.net功能:

保護的函數GetValueForDropDownCombinationContent()作爲數據集

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

任何想法???

+0

也許應該是:數據源= 「<%#GetValueForDropDownCombinationContent()%>」 – miensol 2010-04-24 07:00:51

+0

的DataSource = 「<%#GetValueForDropDownCombinationContent()%>」 不工作 – 2010-04-24 10:52:56

回答

1

您應該關注的第一件事就是應用數據源的方式。它應該是

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

使用單引號而不是雙引號。至少這個工程100%,在C#中,我希望它在VB.NET相同..

其次 - 您沒有設置選擇的值有:

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

有了這兩個應用 - 你應該沒有問題,讓你的下拉工作)