【问题标题】:datagridview datasource not binding when change更改时datagridview数据源未绑定
【发布时间】:2019-03-14 13:05:06
【问题描述】:

我的代码工作正常,但是当我将数据添加到 datagridview 时,它没有绑定到 gridview。我不明白。当我搜索一些时,我发现 BindingSource。如果我使用它,我必须更改我的代码的很多东西。是否有一些绑定到datagridview的快捷方式

这是加载数据网格视图

schoolGridView.DataSource = load.GetDataSource();

这是我添加行的时候。

List<DataSourceObject> src = (List < DataSourceObject >)schoolGridView.DataSource;
        DataSourceObject dat = new DataSourceObject();
        dat.sinif = "asd";
        dat.okulAdi = "ad";
        dat.ogrenciAdi = "123";
        dat.ilce = "43";
        dat.il = "123";

        src.Add(dat);

        schoolGridView.DataSource = src;

【问题讨论】:

  • DataSource 更改时,DGV 不会自动重新绘制。让 DGV 更新的技巧是将数据源设置为空,然后返回到实际源。 schoolGridView.DataSource = null; schoolGridView.DataSource = src;
  • 我始终如一地从数据源更新 DataGridViews 的唯一方法是将 BindingSource 插入到组合中。您将 Bi​​ndingSource 设为 DGV 的数据源,然后将支持源(通常为 List&lt;T&gt;)分配给 BindingSource 的数据源。每当您希望 DGV 更新时,请致电 theBindingSource.ResetBinding(false);。它通常就像一个魅力,真的不难改装到应用程序中
  • @jdweng 谢谢我一直在寻找的人

标签: c# datagridview binding


【解决方案1】:

你有没有尝试过类似于List&lt;&gt; 类的BindingList&lt;&gt; 泛型类? BindingList 更适合DataSource 的角色。我相信您也可以从GridView.Invalidate()GridView.Update()GridView.Refresh() 等方法中受益。您可以在DataGridView class 中找到更多信息。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2014-09-15
    • 2017-05-27
    • 2011-02-02
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多