2013-07-06 43 views
0

我正在为自己制作一些webparts,我想用一些数据填充SPGridview。将数据表DataTable加载到SPGridview C#

DataTable table = /*some data*/; 
SPGridview grid = new SPGridview(); 

// setting up SPGridview properties 

grid.DataSource = table; 
grid.DataBind(); 

当我用GirdView做到这一点时,它工作得很好。但是当我试图用SPGridview来做到这一点时,我的webpart只显示空白页面。我想,SPGridview需要更多的从我身边,如果你能告诉我如何做到这一点。

+0

P.S.假设我不知道表中数据的结构。 –

回答

0

出于某种原因,微软禁用AutoGenerateColumns属性,我不知道如何在不使用循环绕过。这里是一个工作代码:

 SPGridView _gridview = new SPGridView(); 
     DataTable table = /*some data*/; 

     _gridview.Enabled = true; 
     _gridview.AutoGenerateColumns = false; 
     _gridview.Visible = true; 

     foreach(DataColumn col in table.Columns) 
     { 
      SPBoundField field = new SPBoundField(); 
      field.DataField = col.ColumnName; 
      _gridview.Columns.Add(field); 
     } 

     _gridview.DataSource = table; 
     _gridview.DataBind(); 

     this.Controls.Add(_gridview); 
1
 SPGridView myGridView = new SPGridView(); 
     myGridView.Enabled = true; 

     myGridView.DataSource = table; 
     myGridView.DataBind(); 


     this.Controls.Add(myGridView); 

试试这个代码............

+0

感谢您的最后一行我忘了那个SPGridView它不是自动生成的控件,需要添加。 –