逐列向DataGridView添加数据

时间:2012-05-04 09:08:17

标签: winforms datagrid datagridview runtime

我想在数据网格视图中逐列添加数据。

我在运行时添加列,然后我想向其添加数据。

也可能是列调整自身大小以适应窗口。

例如 - 如果有10列,那么10列应填充窗口,否则如果有5列,那么5列应填充窗口

1 个答案:

答案 0 :(得分:1)

以下是一个简单示例的代码,可以执行您想要的操作。它来自一个简单表单的代码,上面有一个DataGridView控件。

public partial class Form1 : Form
{

    public Form1()
    {
        InitializeComponent();

        BindingList<BindingClass> data = new BindingList<BindingClass>() { 
            new BindingClass { Name = "joe", Surname = "bloggs" }, 
            new BindingClass { Name = "sue", Surname = "bloggs" } };
        dataGridView1.DataSource = data;
        dataGridView1.AutoSizeColumnsMode = DataGridViewAutoSizeColumnsMode.Fill;
    }

}   

    public class BindingClass
    {
        public string Name { get; set; }
        public string Surname { get; set; }
    }

} 

我已创建了一个用于我的数据的自定义对象 - 这是您的列表所在的位置。绑定到DataGridView数据源的列表的所有公共属性都将创建为列 - 然后您可以隐藏不需要的列。

在我的示例中,我选择使用BindingList<T>而不是List<T> - 这通常是首选,因为它可以让您进行编辑,并且可以扩展为支持排序。

我还将网格的AutoSizeColumnsMode设置为Fill - 还有其他几个选项,包括分别设置每列的宽度或填充属性,这些也可以通过设计器进行设置。 / p>


我不建议使用ListView,因为它不提供自动数据绑定。