2015-04-25 88 views
1

我使用asp.net c#。我有以下代碼此代碼工作正常。但問題是gridview左側生成一個額外的列。Gridview在左邊生成額外的列

<asp:GridView Width="96%" CssClass="grdclass" ID="grd" 
    runat="server" AutoGenerateColumns="False" DataKeyNames="STAT_ID"> 
     <AlternatingRowStyle BackColor="#FFCC99" /> 
     <Columns> 
      <asp:TemplateField> 
       <HeaderTemplate> 
        <th scope="col">الهاتف</th> 
       </HeaderTemplate> 
       <ItemTemplate> 
        <td class="row_style"> 
         <div class="row_style"> 
          <%#Eval("PHONE_Num") %> 
         </div> 
        </td> 
       </ItemTemplate> 
      </asp:TemplateField> 
     </Columns> 
     <EmptyDataTemplate>No Record Found</EmptyDataTemplate> 
     <HeaderStyle BackColor="Aquamarine" /> 
     <RowStyle BackColor="#FFFFCC" /> 
</asp:GridView> 

請檢查上面的代碼,並指導我錯誤在哪裏,或者我該如何擺脫這個問題。

回答

0

你並不需要把表元素定義網格視圖裏面,這樣做:

  <Columns> 
       <asp:TemplateField> 
        <HeaderTemplate> 
         الهاتف 
        </HeaderTemplate> 
        <ItemTemplate> 
         <div class="row_style"> 
          <%#Eval("PHONE_Num") %> 
         </div> 
        </ItemTemplate> 
       </asp:TemplateField> 
      </Columns> 
+0

我有多個列 –

+0

沒問題,你可以添加一個新的asp:TemplateField到Grid。 –

+0

我有多個列 –

0

有許多方法來創建一個子頭部GridView。但是,隨着ListView的引入,大多數方法都有點矯枉過正。嘗試使用這樣的ListView

<asp:ListView ID="CustomersList" runat="server"> 
    <LayoutTemplate> 
     <table class="grdclass"> 
      <thead> 
       <tr> 
        <th colspan="2">Phone Numbers</th> 
       </tr> 
       <tr> 
        <th>Home</th> 
        <th>Mobile</th> 
       </tr> 
      </thead> 
      <tbody> 
       <tr id="itemplaceholder" runat="server"></tr> 
      </tbody> 
     </table> 
    </LayoutTemplate> 
    <ItemTemplate> 
     <tr> 
      <td><%# Eval("PHONE_Num") %></td> 
      <td><%# Eval("MOBILE_Num") %></td> 
     </tr> 
    </ItemTemplate> 
</asp:ListView> 

ListView給你更多的控制你的html標記。