0

Hi guys,

I have created a gridview which is supposed to display 3 columns:

| view | Name | Position |

The gridview becomes visible based a a selection of a dropdownlist. When I load the gridview from the dropdownlist however, the grid view appears as such:

| view | Name | Position | Name | Position |

Why are the columns repeating and how do I resolve this issue?

here is the markup for the dropdownlist and its corresponding gridview:

    <div>
        <table width="80%" align="center">
            <tr>
                <td class="auto-style1">
                    <asp:Label ID="Lbl_SelectTeam" runat="server" Text="Select a Team" />
                </td>
                <td>
                    <asp:DropDownList ID="Ddl_Teams" runat="server" style="margin-left: 0px" Width="150px"/>
                </td>
            </tr>
            <tr>
                <td class="auto-style1"></td>
                <td>
                    <asp:Button ID="Btn_SubmitTeam" runat="server" Text="Select" OnClick="TeamPage_Click" />
                </td>
            </tr>
        </table>
    </div>
    <div class="GridView">
        <asp:GridView ID="Gv_PlayersOfTeamView" runat="server" Visible="false" 
            GridLines="Horizontal" Width="500" >
            <Columns>
                <asp:TemplateField ShowHeader="false">
                    <ItemTemplate>
                        <asp:LinkButton ID="Lb_PlayerProfile" runat="server" Text="View" 
                            ForeColor="white" Font-Bold="true" />
                    </ItemTemplate>
                </asp:TemplateField>
                <asp:TemplateField HeaderText="Name" HeaderStyle-HorizontalAlign="Center" 
                    ItemStyle-HorizontalAlign="Center">
                    <ItemTemplate>
                        <asp:Label ID="Lbl_PlayerName" runat="server" Text='<%# Eval("Name") %>' />
                    </ItemTemplate>
                </asp:TemplateField>
                <asp:TemplateField HeaderText="Position" HeaderStyle-HorizontalAlign="Center" 
                    ItemStyle-HorizontalAlign="Center">
                    <ItemTemplate>
                        <asp:Label ID="Lbl_PlayerPosition" runat="server" Text='<%# Eval("Position") %>' />
                    </ItemTemplate>
                </asp:TemplateField>
            </Columns>
        </asp:GridView>
    </div>

here is the codebehind function which is called when the "Select" button is clicked for the dropdownlist:

        protected void TeamPage_Click(object sender, EventArgs e)
        {
            using (SqlConnection con = new SqlConnection(constr))
            {
                String TeamID = Ddl_Teams.SelectedValue;
                SqlCommand cmd = con.CreateCommand();
                cmd.CommandText = "SELECT DISTINCT Name, Position FROM FB_Players WHERE TeamID=@teamid ORDER BY Name";
                cmd.Parameters.AddWithValue("@teamid", TeamID);
                con.Open();
                Gv_PlayersOfTeamView.DataSource = cmd.ExecuteReader();
                Gv_PlayersOfTeamView.DataBind();
                con.Close();
            }

            Gv_PlayersOfTeamView.Visible = true;
        }

Thank you for your time and help

3
Contributors
3
Replies
4
Views
4 Years
Discussion Span
Last Post by while(!success)
0

Weird. In the design view, click on the grid view, edit columns. Do you see three or five?

1

Set the autogeneratecolumns property to false

Edited by nakor77: typo

This question has already been answered. Start a new discussion instead.
Have something to contribute to this discussion? Please be thoughtful, detailed and courteous, and be sure to adhere to our posting rules.