[英]Data Grid View — binding columns to list
我在C#中的項目包含dataGridView,並且我有一個包含數據的對象。
public class Data
{
public List<string> list {get;set;}
}
數據在程序啟動時初始化,並且列表長度可以更改。 我想將gridView綁定到當gridView顯示gridview中的每一列都綁定到數據對象中的對象時,如下所示:
如果列表計數= 3,那么我希望gridView包含3列-column0綁定到list [0],column01綁定到list [1],依此類推。
我認為在表單加載時需要綁定gridView,但是如何在我的代碼中這樣做呢?
<asp:GridView runat="server" ID="GridView1" AutoGenerateColumns="true" >
</asp:GridView>
private static Random _rnd = new Random(DateTime.Now.Millisecond);
protected void Page_Load(object sender, EventArgs e)
{
if (!IsPostBack)
{
var columns = _rnd.Next(3, 10);
var data = new { list = Enumerable.Range(1, columns).ToList() };
GridView1.DataSource = data.list.Pivot();
GridView1.DataBind();
}
}
public static class Extensions
{
public static DataTable Pivot<T>(this IEnumerable<T> list)
{
if (list == null)
throw new ArgumentNullException("list");
DataTable result = new DataTable();
for (int index = 0; index < list.Count(); index++)
{
DataColumn column = new DataColumn(string.Format("Column{0}", index), typeof(T));
result.Columns.Add(column);
}
var dataRow = result.NewRow().ItemArray = list.Select(item => (object)item).ToArray();
result.Rows.Add(dataRow);
return result;
}
}
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.