Gridview 仅显示 MySQL 数据库中的 1 行 - ASP.net C#

Gridview is showing only 1 row from MySQL database - ASP.net C#

我想从我的数据中检索所有数据table 并将它们与 gridview 绑定。数据实际上绑定并且有效,但它仅显示 table 的第一行。 这是我的网络表单中的 gridview

           <asp:DetailsView ID="DetailsView1" runat="server" AutoGenerateRows="false" Width="100%" GridLines="None">
           <Fields>
           <asp:TemplateField ShowHeader="false">
           <ItemTemplate>
           <tr>
           <div>
           <h2>
           <asp:Label ID="lblPostTitle" runat="server" Text='<%#Eval("posttitle") %>'></asp:Label></h2>
           <div>
           <span>
           <asp:Label ID="lblPostUser" runat="server" Text='<%#Eval("postuser") %>'></asp:Label></span>
           <span>
           <asp:Label ID="lblPostTime" runat="server" Text='<%#Eval("posttime") %>'></asp:Label></span>
           </div>
           <div style="text-align: justify;">
           <p>
           <asp:Label ID="lblPostContent" runat="server" Text='<%#Eval("postcontent") %>'></asp:Label></p>
           </div>
           </div>
           </tr>
           </ItemTemplate>
           </asp:TemplateField>
           </Fields>
           </asp:DetailsView>

这是绑定代码

    protected void Page_Load(object sender, EventArgs e)
    {
        if (!this.IsPostBack)
        {
                    this.PostUpd();
        }
    }

    public void PostUpd()
    {
        MaconOpen();
        MACONNEW.Open();

        MySqlCommand Postcmd = new MySqlCommand("SELECT * FROM postretv", MACONNEW);
        MySqlDataAdapter adp = new MySqlDataAdapter(Postcmd);
        DataSet ds = new DataSet();
        adp.Fill(ds);
        DetailsView1.DataSource = ds;
        DetailsView1.DataBind();
        Postcmd.Dispose();
    }

但是,我的 gridview 只显示数据的第一行table。 这里可能出了什么问题,如何解决?

我尝试将详细视图更改为 ListView

           <asp:ListView ID="DetailsView12" runat="server" AutoGenerateRows="false"  GridLines="None">
           <ItemTemplate>
           <tr>
           <div>
           <h2>
           <asp:Label ID="lblPostTitle" runat="server" Text='<%#Eval("posttitle") %>'></asp:Label></h2>
           <div>
           <span>
           <asp:Label ID="lblPostUser" runat="server" Text='<%#Eval("postuser") %>'></asp:Label></span>
           <span>
           <asp:Label ID="lblPostTime" runat="server" Text='<%#Eval("posttime") %>'></asp:Label></span>
           </div>
           <div style="text-align: justify;">
           <p>
           <asp:Label ID="lblPostContent" runat="server" Text='<%#Eval("postcontent") %>'></asp:Label></p>
           </div>
           </div>
           </tr>
           </ItemTemplate>
           </asp:ListView>

它奏效了。 无论如何谢谢你!