2015-07-16 3 views
0

Я пытаюсь создать DataGrid, но он не отображается, когда я загружаю страницу. Я пытаюсь создать функцию для 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; 
     } 
+0

проверить ответ, что имея то, что вы пропустили здесь –

ответ

1

Ofcourse его не будет отображаться на странице ... потому что вы создали DataGrid в файле отделенного кода, но вы не добавили созданную сетку на страницу, т.е. HTML. .Вы необходимо добавить созданную DataGrid на страницу динамически, как вы создали его динамически

код для добавления

// 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> 

когда вы страница palceholder в вас ASPX странице вы CodeBehind будет

защищен недействительным LoadJob (интермедиат JobID) { DataGrid дб = JobClass.Job_Piece.BuildGrid();

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

}

+0

спасибо это работает – user123456789

Смежные вопросы