无法将Dropdownlist放入Datagrid

时间:2015-06-08 09:06:48

标签: html asp.net visual-studio drop-down-menu datagrid

现在我有一个Datagrid显示预告片的一些细节。我想将DropDownList放入Datagrid,以便可以更改位置,但我不断收到错误:

  

错误32不允许使用文字内容('')   在一个   ' System.Web.UI.WebControls.DataGridColumnCollection&#39 ;. C:\ inetpub \ wwwroot \ test \ test \ lookups \ Trailer.aspx 215

之前我在datagrids中看过DropDownLists的代码示例,为什么我会收到此错误? 这是DataGrid的代码:

      <asp:DataGrid runat="server" CssClass="tblResults" OnItemDataBound="dgList_ItemCreated" AllowSorting="true" OnSortCommand="dgTrailer_Sort" ID="dgTrailers" DataKeyField="ID" AutoGenerateColumns="false">
                <HeaderStyle CssClass="tblResultsHeader" />
                <AlternatingItemStyle BackColor="#EEEEEE" />
                <Columns>
                    <asp:BoundColumn DataField="TrailerMake" HeaderText="Trailer Make" SortExpression="TrailerMake"></asp:BoundColumn>
                    <asp:BoundColumn DataField="TrailerLocation" HeaderText="Trailer Location" SortExpression="TrailerLocation"></asp:BoundColumn>
                    <asp:BoundColumn DataField="Year" HeaderText="Year" SortExpression="Year"></asp:BoundColumn>

                

2 个答案:

答案 0 :(得分:2)

首先,您似乎缺少了Columns的结束标记。

其次,要添加下拉列表,您必须使用asp:TemplateColumn然后将您的数据绑定到该下拉列表:

<asp:DataGrid runat="server" CssClass="tblResults" OnItemDataBound="dgList_ItemCreated" AllowSorting="true" OnSortCommand="dgTrailer_Sort" ID="dgTrailers" DataKeyField="ID" AutoGenerateColumns="false">
            <HeaderStyle CssClass="tblResultsHeader" />
            <AlternatingItemStyle BackColor="#EEEEEE" />
            <Columns>
                <asp:BoundColumn DataField="TrailerMake" HeaderText="Trailer Make" SortExpression="TrailerMake"></asp:BoundColumn>
                <asp:BoundColumn DataField="TrailerLocation" HeaderText="Trailer Location" SortExpression="TrailerLocation"></asp:BoundColumn>
                <asp:BoundColumn DataField="Year" HeaderText="Year" SortExpression="Year"></asp:BoundColumn>
                <asp:TemplateColumn><ItemTemplate><asp:DropDownList ID="ddlList" runat="server" /></ItemTemplate></asp:TemplateColumn>
            </Columns>
        </asp:DataGrid>

答案 1 :(得分:0)

首先,您必须将列转换为模板,然后您可以将下拉列表添加到此模板中,并将数据绑定到下拉列表。最后,带有下拉列的列将如下所示。

<Columns>
   <asp:TemplateField>                 
     <ItemTemplate>
          <asp:DropDownList ID="DropDownList1" runat="server" Height="32px" Width="178px">
        </asp:DropDownList>
     </ItemTemplate>
 </asp:TemplateField>             
 </Columns>