2015-06-08 22 views
0

現在我有一個Datagrid顯示拖車的一些細節。我想提出一個DropDownList到DataGrid中這樣的位置可以改變,但我不斷收到錯誤:不能把Dropdownlist放到Datagrid中

Error 32 Literal content ('') is not allowed within a 'System.Web.UI.WebControls.DataGridColumnCollection'. C:\inetpub\wwwroot\test\test\lookups\Trailer.aspx 215

我見過的DropDownLists的代碼示例中的DataGrid所以爲什麼我得到這個錯誤之前? 這裏的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

你缺少''對不起 –

+0

該行是在 – user2026041

回答

2

首先,它看起來像你缺少的列結束標記。

其次,增加一個下拉列表,你就不得不用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> 
+0

好,謝謝複製時,它一定是我錯過了它,我沒有錯誤了代碼。所以我將id設置爲ddlTrailerLocation。我已經在代碼的另一部分使用了這個下拉列表。但是下拉列表仍然不顯示在數據網格中。另外,我是否還需要''這行還是可以刪除? – user2026041

0

首先,你必須將列轉換爲模板,那麼你可以添加一個將下拉列表放入此模板並將您的數據綁定到下拉列表。最後,下拉菜單中的列將如下所示。

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

''會導致我之前得到的錯誤 – user2026041