【问题标题】:DataGrid not displaying on page数据网格不显示在页面上
【发布时间】:2015-10-05 16:25:15
【问题描述】:

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

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;
        }

【问题讨论】:

  • 检查回答这里你错过了什么

标签: c# asp.net visual-studio datagrid


【解决方案1】:

当然它不会显示在页面上...因为您在代码隐藏文件中创建了数据网格,但您没有将创建的网格添加到页面,即 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);

}

【讨论】:

    猜你喜欢
    • 2012-03-22
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2017-01-05
    • 1970-01-01
    相关资源
    最近更新 更多