2017-07-08 118 views
0

我通過使用selectmethod獲取數據並且工作正常,問題是我不希望插入每條記錄的新表。我想要將新列添加到現有表中。像圖的內容如下將多個記錄數據綁定到asp.net gridview中的單個垂直列表

enter image description here

<asp:Content ID="Content1" ContentPlaceHolderID="MainContent" runat="server"> 



    <asp:GridView ID="FormView1" runat="server" ShowHeader="False" ItemType="MieleRepresentative.SteamBoiler" SelectMethod="GetSteamBoilerModels" RenderOuterTable="false" AutoGenerateColumns="False"> 
    <Columns> 
     <asp:TemplateField> 
      <ItemTemplate> 

       <table class="table-striped table-bordered"> 
        <tr style="background-color: thistle!important;"> 
         <td style="font-weight: bold;">Model</td> 
         <td><%# Eval("Model")%></td> 
        </tr> 


        <tr> 
         <td style="font-weight: bold">WorkingPressureLimit</td> 
         <td><%# Eval("WorkingPressureLimit")%></td> 
        </tr> 
        <tr> 
         <td style="font-weight: bold">TestPressureLimit</td> 
         <td><%# Eval("TestPressureLimit")%></td> 
        </tr> 
        <tr> 
         <td style="font-weight: bold">Electrical</td> 
         <td><%# Eval("Electrical")%></td> 
        </tr> 
        <tr> 
         <td style="font-weight: bold">Diameter</td> 
         <td><%# Eval("Diameter")%></td> 
        </tr> 
        <tr> 
         <td style="font-weight: bold">Height</td> 
         <td><%# Eval("Height")%></td> 
        </tr> 
        <tr> 
         <td style="font-weight: bold">Weight</td> 
         <td><%# Eval("Weight")%></td> 
        </tr> 

       </table> 
      </ItemTemplate> 

     </asp:TemplateField> 

    </Columns> 
</asp:GridView> 

 public IQueryable<SteamBoiler> GetSteamBoilerModels([QueryString("productID")] Guid productId) 
    { 

     var _mieleDbEntities = new MieleDBEntities(); 

     return _mieleDbEntities.SteamBoilers.Where(boiler => boiler.FKProduct == productId); 
    } 
+0

一個GridView是HTML表格。當你不需要的時候你正在做的是創建嵌套表。或者使用Repeater代替,那麼您可以更好地控制生成的HTML。谷歌'GridView的TemplateField',你會沒事的。 – VDWWD

回答

0

如果你想與列的不確定數量(一個爲每個選定的記錄)的表,probabily GridView的是不是你最好的選擇。

在我看來,你應該動態建立表.aspx頁面中以這樣的方式

<% var steamBoilersList = GetSteamBoilerModels(...params...); %> 
<table> 
    <!-- first row --> 
    <tr> 
     <% foreach (var singleSteamBoiler in steamBoilersList) { %> 
     <td> 
      <%= singleSteamBoiler.FIELD1 %> 
     </td> 
    </tr> 

    <!-- second row and so on --> 
    <tr> 
     <% foreach (var singleSteamBoiler in steamBoilersList) { %> 
     <td> 
      <%= singleSteamBoiler.FIELD2 %> 
     </td> 
    </tr> 
</table> 
相關問題