将 windows 表单中的 DataGridView 绑定到列表<List<T>>
Binding DataGridView in windows forms to a list<List<T>>
我有一个格式为 List of List of T 的自定义对象集合,即自定义对象列表的列表。
我需要将这个集合绑定到一个windows形式的datagridview控件,页数应该等于外部列表中的内部列表数。每个页面都应该绑定到内部List,即T的List。
知道如何实现吗?
假设您的嵌套列表已填充,并且除了 DataGridView
之外,您的表单还有一个 Previous
和 Next
按钮用于更改页面:您可以使用按钮更改指示哪个嵌套列表将用作 DataSource
.
的索引
public List<List<MyObject>> Pages { get; set; } // Populated elsewhere...
public int PageIndex { get; set; }
private void ChangePage()
{
this.PreviousButton.Enabled = this.PageIndex > 0;
this.NextButton.Enabled = this.PageIndex < this.Pages.Count - 1;
this.dataGridView1.DataSource = this.Pages[this.PageIndex];
}
private void PreviousButton_Click(object sender, EventArgs e)
{
this.PageIndex--;
this.ChangePage();
}
private void NextButton_Click(object sender, EventArgs e)
{
this.PageIndex++;
this.ChangePage();
}
我有一个格式为 List of List of T 的自定义对象集合,即自定义对象列表的列表。 我需要将这个集合绑定到一个windows形式的datagridview控件,页数应该等于外部列表中的内部列表数。每个页面都应该绑定到内部List,即T的List。 知道如何实现吗?
假设您的嵌套列表已填充,并且除了 DataGridView
之外,您的表单还有一个 Previous
和 Next
按钮用于更改页面:您可以使用按钮更改指示哪个嵌套列表将用作 DataSource
.
public List<List<MyObject>> Pages { get; set; } // Populated elsewhere...
public int PageIndex { get; set; }
private void ChangePage()
{
this.PreviousButton.Enabled = this.PageIndex > 0;
this.NextButton.Enabled = this.PageIndex < this.Pages.Count - 1;
this.dataGridView1.DataSource = this.Pages[this.PageIndex];
}
private void PreviousButton_Click(object sender, EventArgs e)
{
this.PageIndex--;
this.ChangePage();
}
private void NextButton_Click(object sender, EventArgs e)
{
this.PageIndex++;
this.ChangePage();
}