1

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

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

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

例如,如果有 10 列,则 10 列应填满窗口,否则如果有 5 列,则 5 列应填满窗口

4

1 回答 1

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 的数据源的列表的所有公共属性都被创建为列 - 然后您可以隐藏不需要的列。

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

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


我不推荐使用 aListView因为它不提供自动数据绑定。

于 2012-05-04T10:40:42.957 回答