2013-10-15 46 views
0

我有一個GridView,我綁定數據到這個網格沒有任何問題。我遇到的問題是使標題與網格中的行匹配。GridView標題沒有與行排隊

<asp:GridView ID="gvMyGrid" runat="server" 
      AutoGenerateColumns="False" BackColor="White" 
      BorderColor="#DEDFDE" BorderStyle="None" BorderWidth="1px" CellPadding="4" 
      ForeColor="Black" GridLines="Vertical"> 
      <AlternatingRowStyle BackColor="White" /> 
      <Columns> 
       <asp:TemplateField> 
        <HeaderTemplate> 
         <table> 
          <tr> 
           <td> 
            Date  
           </td> 
           <td> 
            Merchant 
           </td> 
           <td> 
            Description 
           </td> 
           <td> 
            Amount 
           </td> 
           <td> 
            Status 
           </td> 
          </tr> 
         </table> 
        </HeaderTemplate> 
        <ItemTemplate> 
         <table> 
          <tr> 
           <td> 
            <asp:Label ID="lblTransactionDate" runat="server" Text='<%# String.Format("{0:MM/dd/yyyy}", Convert.ToDateTime(Eval("transactionDate"))) %>'></asp:Label>    
           </td> 
           <td> 
            <asp:Label ID="lblAcceptLocation" runat="server" Text='<%# Eval("acceptLocation").ToString() %>'></asp:Label>    
           </td> 
           <td> 
            <asp:TextBox ID="tbItemDescription" runat="server"></asp:TextBox>    
           </td> 
           <td> 
            <asp:Label ID="lblAmount" runat="server" Text='<%# Eval("preAuthAmount") %>'></asp:Label> 
           </td> 
           <td> 
            <asp:Label ID="lblStatus" runat="server" Text='<%# Eval("transactionStatus") %>'></asp:Label>    
           </td> 
           <td> 
            <asp:LinkButton ID="LinkButton1" runat="server" Text="Assign +" OnClick="BtnAssign"></asp:LinkButton> 
           </td> 
          </tr> 
         </table> 
        </ItemTemplate> 
       </asp:TemplateField> 
      </Columns> 
      <FooterStyle BackColor="#CCCC99" /> 
      <HeaderStyle BackColor="#6B696B" Font-Bold="True" ForeColor="White" /> 
      <PagerStyle BackColor="#F7F7DE" ForeColor="Black" HorizontalAlign="Right" /> 
      <RowStyle BackColor="#F7F7DE" /> 
      <SelectedRowStyle BackColor="#CE5D5A" Font-Bold="True" ForeColor="White" /> 
      <SortedAscendingCellStyle BackColor="#FBFBF2" /> 
      <SortedAscendingHeaderStyle BackColor="#848384" /> 
      <SortedDescendingCellStyle BackColor="#EAEAD3" /> 
      <SortedDescendingHeaderStyle BackColor="#575357" /> 
     </asp:GridView> 

標題的排列全部壓在一起。我可以放入空格,但我寧願讓這看起來不錯,我不知道我做錯了什麼。如果我使用Repeater,一切看起來都很棒,但這不適合我。我需要能夠點擊分配按鈕並獲取該行中單擊的行和值。

回答

1

你把你的網格放在一起錯了。您在標題和每行中定義單獨的表格,更不用說將所有字段填充到單個列中。

<asp:GridView ID="gvMyGrid" runat="server" 
    AutoGenerateColumns="False" BackColor="White" 
    BorderColor="#DEDFDE" BorderStyle="None" BorderWidth="1px" CellPadding="4" 
    ForeColor="Black" GridLines="Vertical"> 
    <AlternatingRowStyle BackColor="White" /> 
    <Columns> 
     <asp:TemplateField> 
      <HeaderTemplate>Date</HeaderTemplate> 
      <ItemTemplate> 
       <asp:Label ID="lblTransactionDate" runat="server" Text='<%# String.Format("{0:MM/dd/yyyy}", Convert.ToDateTime(Eval("transactionDate"))) %>'></asp:Label> 
      </ItemTemplate> 
     </asp:TemplateField> 
     <asp:TemplateField> 
      <HeaderTemplate>Merchant</HeaderTemplate> 
      <ItemTemplate> 
       <asp:Label ID="lblAcceptLocation" runat="server" Text='<%# Eval("acceptLocation").ToString() %>'></asp:Label> 
      </ItemTemplate> 
     </asp:TemplateField> 
     <asp:TemplateField> 
      <HeaderTemplate>Description</HeaderTemplate> 
      <ItemTemplate> 
       <asp:TextBox ID="tbItemDescription" runat="server"></asp:TextBox> 
      </ItemTemplate> 
     </asp:TemplateField> 
     <asp:TemplateField> 
      <HeaderTemplate>Amount</HeaderTemplate> 
      <ItemTemplate> 
       <asp:Label ID="lblAmount" runat="server" Text='<%# Eval("preAuthAmount") %>'></asp:Label> 
      </ItemTemplate> 
     </asp:TemplateField> 
     <asp:TemplateField> 
      <HeaderTemplate>Status</HeaderTemplate> 
      <ItemTemplate> 
       <asp:Label ID="lblStatus" runat="server" Text='<%# Eval("transactionStatus") %>'></asp:Label> 
      </ItemTemplate> 
     </asp:TemplateField> 
     <asp:TemplateField> 
      <ItemTemplate> 
       <asp:LinkButton ID="LinkButton1" runat="server" Text="Assign +" OnClick="BtnAssign"></asp:LinkButton> 
      </ItemTemplate> 
     </asp:TemplateField> 
    </Columns> 
    <FooterStyle BackColor="#CCCC99" /> 
    <HeaderStyle BackColor="#6B696B" Font-Bold="True" ForeColor="White" /> 
    <PagerStyle BackColor="#F7F7DE" ForeColor="Black" HorizontalAlign="Right" /> 
    <RowStyle BackColor="#F7F7DE" /> 
    <SelectedRowStyle BackColor="#CE5D5A" Font-Bold="True" ForeColor="White" /> 
    <sortedascendingcellstyle backcolor="#FBFBF2" /> 
    <sortedascendingheaderstyle backcolor="#848384" /> 
    <sorteddescendingcellstyle backcolor="#EAEAD3" /> 
    <sorteddescendingheaderstyle backcolor="#575357" /> 
</asp:GridView> 
+0

這工作的兄弟! (閱讀Hulk Hogan的聲音) – user2146538