c# - 未绑定(bind)的网格控件

标签 c# devexpress gridcontrol

我有一个 gridControl,其数据源是一个列表。 列表中的每个项目都由三个字段组成。 我的 gridControl 中有 3 列。 当我以编程方式将值插入 GridView 时,它不会出现。 这是我的代码。

public Company_Selection()
{
    InitializeComponent();
    companies = new List<DataLibrary.Companies>();
    gridControl1.DataSource = companies;
}

internal void load_all_companies(List<DataLibrary.Companies> other)
{
    for (int i = 0; i < other.Count; i++)
    {
        companies.Add(other[i]);
        gridView1.SetRowCellValue( i, "Id", other[i].id);
        gridView1.SetRowCellValue( i, "Company", other[i].name);
        gridView1.SetRowCellValue(i, "Description", other[i].description);
        gridView1.RefreshData();
        gridControl1.RefreshDataSource();
    }
}

有什么问题的想法吗?

最佳答案

问题是你不应该直接使用细胞。您的“公司”列表应包含在 BindingList 中。所有编程更改都是在对象级别而不是网格级别完成的。所以,设置数据源就变成了

gridControl1.DataSource = new BindingList<DataLibrary.Companies>(companies);

这将处理列表中对象的呈现、更改、添加和删除。如果您的 gridView 不包含任何列并且 AutoPopulateColumns 为 true,则将自动创建列。您可能想使用设计器在 gridView 中设置列​​。不要忘记将 Field 属性设置为基础对象的属性名称。

关于c# - 未绑定(bind)的网格控件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9466933/

相关文章:

c# - 如何让devexpress gridcontrol的indicator显示文字加粗

java - 如何使用 gridControl 组件获取替代行颜色

c# - DevExpress GridControl 行号

c# - 在 Umbraco 6.x 中使用内容服务 api 更新属性

C# 全屏截图

c# - 为什么某些标签在使用 HtmlTextWriter 时会换行?

c# - 免费的SQL Server存储过程生成器?

javascript - 无法通过外部页面上的 javascript 访问用户控件

datagrid - 数据源加载方法不适用于 ngrx 存储

.net - 如何在不使用 cutomunboundcolumn 事件的情况下从图像路径显示 gridview 单元格中的图像?