现在我有一个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>
答案 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>