数据网格没有显示在页面上

本文关键字:显示 数据网 网格 数据 | 更新日期: 2023-09-27 18:02:55

我正在尝试创建一个DataGrid,但当我加载页面时它不显示。我正在尝试创建一个名为BuildGrid的DataGrid函数。

protected void LoadJob(int JobID)
{
        DataGrid db = JobClass.Job_Piece.BuildGrid();
        db.DataSource = jb.Pieces;
        db.DataBind();
}
所以BuildGrid函数是:
public static DataGrid BuildGrid()
        {
            DataGrid NewDg = new DataGrid();
            NewDg.DataKeyField = "ID";
            NewDg.AutoGenerateColumns = false;
            NewDg.CssClass = "tblResults";
            NewDg.HeaderStyle.CssClass = "tblResultsHeader";
            NewDg.AlternatingItemStyle.CssClass = "ResultsStyleAlt";
            NewDg.ItemStyle.CssClass = "ResultsStyle";

            NewDg.Columns.Add(Load.CreateBoundColumn("AdvisedQty", "No Of Pces"));
            NewDg.Columns.Add(Load.CreateBoundColumn("PieceTypeString", "Pces Type"));
            NewDg.Columns.Add(Load.CreateBoundColumn("ReceivedQty", "Rcvd Pces"));
            NewDg.Columns.Add(Load.CreateBoundColumn("Reason", "Reason"));
            NewDg.Width = Unit.Percentage(100.00);
            return NewDg;
        }

数据网格没有显示在页面上

当然它不会显示在页面上…因为你在代码隐藏文件中创建了数据网格,但你没有将创建的网格添加到页面,即HTML ..您需要动态地将创建的数据网格添加到页面中,就像您动态地创建它一样

代码添加

   // DataGrid1 is added to the PlaceHolder
   PlaceHolder.Controls.Add(DataGrid1);

aspx页面代码

<form id="Form1" method="post" runat="server">
  <asp:PlaceHolder id="PlaceHolder" runat="server" />
</form>

一旦你在你的aspx页面的页面位置,你的代码后面将是

protected void LoadJob(int JobID){DataGrid db = JobClass.Job_Piece.BuildGrid();

    db.DataSource = jb.Pieces;
    db.DataBind();
    PlaceHolder.Controls.Add(db);

}