2014-03-25 24 views
0

我有綁定列列的GridView和我想特別插入新行這個綁定列。 這是可能做的事嗎?綁定列在一個新行

的代碼如下:

    <asp:GridView ID="grdAgreements" runat="server" AutoGenerateColumns="false" Width="100%" 
     AllowSorting="false" AlternatingRowStyle-BackColor="White" 
     HeaderStyle-BackColor="White" HeaderStyle-ForeColor="GrayText" 
     Font-Names="Arial" Font-Size="11" DataKeyNames="AgreementId" OnRowCreated="grdAgreements_RowCreated" > 
     <rowstyle height="24" /> 

    <Columns> 
     <asp:BoundField HeaderText="Agreement Number" HeaderStyle-HorizontalAlign="Center" ItemStyle-HorizontalAlign="Center" DataField="AgreementNumber" SortExpression="AgreementNumber" ItemStyle-Width="110" ItemStyle-Font-Names="Arial" /> 
     <asp:BoundField HeaderText="Description" HeaderStyle-HorizontalAlign="Center" ItemStyle-HorizontalAlign="Center" DataField="Description" SortExpression="Description" ItemStyle-Width="100" ItemStyle-Font-Names="Arial" /> 
     <asp:BoundField HeaderText="Start Date" HeaderStyle-HorizontalAlign="Center" ItemStyle-HorizontalAlign="Center" DataField="StartDate" SortExpression="StartDate" ItemStyle-Width="125" ItemStyle-Font-Names="Arial" /> 
     <asp:BoundField HeaderText="End Date" HeaderStyle-HorizontalAlign="Center" ItemStyle-HorizontalAlign="Center" DataField="EndDate" SortExpression="EndDate" ItemStyle-Width="200" ItemStyle-Font-Names="Arial" /> 

     <asp:BoundField HeaderText="Site Number" HeaderStyle-HorizontalAlign="Center" ItemStyle-HorizontalAlign="Center" DataField="SiteNumber" SortExpression="SiteNumber" ItemStyle-Width="200" ItemStyle-Font-Names="Arial" /> 

    </Columns> 

    <EmptyDataTemplate> 
     There are no agreements to display. 
    </EmptyDataTemplate> 
</asp:GridView> 

我想發生的是,而不是綁定列,我想有SiteNumber數據綁定到一個新行,我能堅持在一個div或面板。 我會如何去做這件事?

回答

0

根據通常的時間限制,我沒有經過並找出爲我的需要使用Listview的最佳方式,但我想出了一種方法來獲取我在TemplateField中使用樣式表的佈局和ItemTemplate。下面的代碼就是我想出來的,希望這可以幫助其他人尋找類似的解決方案。 如果時間限制不在你的盤子上,我強烈建議進一步查看Listview控件。 P.S.我使用的CSS是一個巨大的皮塔,以獲得一切風格完美,但它絕對值得恕我直言。 這是所有GridView內BTW

<asp:TemplateField> 
     <ItemTemplate> 
     <div class="EquipmentTable1" > 
      <table > 
       <tr> 
        <td> 
         Customer Equipment 
        </td> 
        <td> 
         Contract 
        </td> 
        <td > 
         Contract Number 
        </td> 

        <td> 
         Modality 
        </td> 
       </tr> 
       <tr> 
        <td> 
        <%--TODO link this to the customer equipment record pulled from the services web portal guide part 1 document--%> 
         <a href="../Agreements/AgreementList.aspx?CustomerEquipmentID=<%# Eval("CustomerEquipmentID") %>"><%# Eval("CustomerEquipmentID") %> </a> 
        </td> 
        <td > 
        <%--Link to the agreement page and 
        pass in the agreement id as a query string to do a lookup of the agreement--%> 
        <a href="../Agreements/AgreementView.aspx?AgreementID=<%# Eval("AgreementID") %>"><%# Eval("AgreementID") %></a> 
        </td> 
        <td> 
         <%# Eval("AgreementLineID") %> 
        </td> 

        <td> 
         <%# Eval("ModalityID") %> 
        </td> 
       </tr> 
      </table> 
     </div> 
    <div class="EquipmentTable2" > 
      <table > 
       <tr> 
        <td> 
         Product 
        </td> 
        <td > 
         Model Number 
        </td> 
        <td> 
         Room Number 
        </td> 
        <td> 
         Date Installed 
        </td> 
       </tr> 
       <tr> 
        <td > 
         <%# Eval("Product") %> 
        </td> 
        <td> 
         <%# Eval("ModelNumber") %> 
        </td> 
        <td> 
         <%# Eval("RoomNumber") %> 
        </td> 
        <td> 
         <%# Eval("DateInstalled") %> 
        </td> 
       </tr> 
      </table> 
     </div> 
     </ItemTemplate> 
     </asp:TemplateField> 
1

讓我知道如果我不理解是正確的,但如果你想定製領域的佈局,您可以使用TemplateField,而不是綁定列

<asp:TemplateField HeaderText="SiteNumber" SortExpression="SiteNumber"> 
    <ItemTemplate> 
     <asp:Label ID="Label1" runat="server" Text='<%# Bind("SiteNumber") %>'></asp:Label> 
    </ItemTemplate> 
</asp:TemplateField> 

但如果你想在移動特定的列到一個新的行,那麼你將不得不查看其他數據綁定控件,如ListView或Repeater,因爲GV標記不是可定製的。

+0

您的第二個評論是現貨。我希望該特定的BoundField(「SiteNumber」)直接位於其它行中的所有數據的後面。 基本上我想要的佈局是: ROW1 =合同編號,描述,開始日期,結束日期 行2 = SiteNumber 然後重複這兩行。 這可以做一個ListView或Repeater嗎? – mW00t

+1

絕對是。有了ListView或Repeater,你可以隨意指定你的結構。 http://msdn.microsoft.com/en-us/library/bb398790.aspx – gbs

+0

完美,這正是我所期待的。 – mW00t