Search code examples
asp.netgridviewitemtemplate

Gridview is loading multiple times


I have a gridview which is working fine (i.e. it is loading 4 rows) with bound controls. this grid view has 4 rows:

Ex: <asp:BoundField HeaderText="Classification" DataField="ClassType" />

but when I changed the gridview with itemtemplate then my gridview is loading 4 times

Structure:-

Gridview
- template field
-- Item template

<%# Eval("ClassType")%>

on code behind I am loading this via: (on page_load)

 gvResultSet.DataSource = ds.Tables[0];
 gvResultSet.DataBind();

Code

 <asp:GridView ID="gvResultSet" runat="server"  AutoGenerateColumns="false">



<Columns>

<asp:TemplateField>
  <ItemTemplate>
             <table class="tb">
    <thead>
      <tr>
        <th>
          Classification
        </th>
        </tr>
    </thead>
    <tbody>
      <tr class="record">
        <td>
          <%# Eval("ClassType")%>
        </td>
      </tr>
    </tbody>
  </table>
  </ItemTemplate>
</asp:TemplateField>


Solution

  • Set gridview's property AutoGenerateColumns="false". This will solve your issue.

    Update

    My Recommendation is to use Repeater Control.

    <asp:Repeater ID="Repeater1" runat="server">
            <HeaderTemplate>
                <table class="tb">
                    <thead>
                        <tr>
                            <th>
                                Status
                            </th>
                            <th>
                                Name
                            </th>
                            <th>
                                Start Time
                            </th>
                            <th class="date">
                                End Time
                            </th>
                            <th>
                                MAX Date found
                            </th>
                            <th>
                                Classification
                            </th>
                            <th class="last">
                                Read Description
                            </th>
                        </tr>
                    </thead>
                    <tbody>
            </HeaderTemplate>
            <ItemTemplate>
                <tr class="record">
                    <td>
                        <div class="toggle enabled">
                        </div>
                    </td>
                    <td class="overflow">
                        <%# Eval("Name")%>
                    </td>
                    <td class="overflow">
                        12/23/2014 6:20:47
                    </td>
                    <td>
                        12/23/2014 6:27:21
                    </td>
                    <td class="date">
                        12/23/2014
                    </td>
                    <td>
                        <%# Eval("ClassType")%>
                    </td>
                </tr>
            </ItemTemplate>
            <FooterTemplate>
                </tbody> </table>
            </FooterTemplate>
        </asp:Repeater>