我想在数据网格视图列中添加数据。
我在运行时添加列,然后我想向它添加数据。
列是否有可能调整自身大小以适应窗口。
例如,如果有 10 列,则 10 列应填满窗口,否则如果有 5 列,则 5 列应填满窗口
我想在数据网格视图列中添加数据。
我在运行时添加列,然后我想向它添加数据。
列是否有可能调整自身大小以适应窗口。
例如,如果有 10 列,则 10 列应填满窗口,否则如果有 5 列,则 5 列应填满窗口
这是一个简单示例的代码,可以执行您想要的操作。它来自一个带有一个 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
因为它不提供自动数据绑定。