2010-04-23 42 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") %>' 

有了这两个应用 - 你应该没有问题,让你的下拉工作)