2017-07-08 64 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> 
相关问题