2015-04-25 4 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-разметки.

Смежные вопросы