【问题标题】:using a C# list as datasource of datagridview (Winform)使用 C# 列表作为 datagridview (Winform) 的数据源
【发布时间】:2017-10-22 07:22:17
【问题描述】:

问题说明了一切,我想使用列表作为数据源,我编写了以下代码:

var uname = DB.TBL_USAGE.Where(x => x.UName != null).ToList();

        List<usage> lst = new List<usage>();

        foreach (var item in DB.TBL_USAGE)
        {
            lst.Add(new usage { uname = item.UName, bytesout = item.Bytesout });
        }

        var bndngsrc = new BindingSource();
        bndngsrc.DataSource = lst;
        dataGridView1.DataSource = bndngsrc;

这是类:

    public class usage
    {
        public string uname;
        public string bytesout;
    }

但没有运气!

任何人都可以提供有效的代码或更正我的代码吗?

【问题讨论】:

  • 这是 ASP.NET 还是 WinForms?
  • @Steve 这是一个 winform 项目
  • 我会尝试使用 BindingList bs = new BindingList(lst); dataGridView1.DataSource = bs; 虽然你的代码似乎是正确的
  • 顺便说一句,您创建了一个子列表,不包括 uname==null 的项目,但随后您遍历整个表。这没有意义,您发布了经过编辑的代码吗?
  • @Steve 我相信我也测试过绑定列表,它只是给了我一个包含lenght 和一些数字(我认为是字符串长度)的列,我使用 uname!=null 来浏览所有记录在表中。

标签: c# datagridview datasource


【解决方案1】:
   var uname = DB.TBL_USAGE.Where(x => x.UName != null).ToList();

    List<usage> lst = new List<usage>();

    foreach (var item in DB.TBL_USAGE)
    {
        lst.Add(new usage { uname = item.UName, bytesout = item.Bytesout });
    }

    dataGridView1.DataSource = lst ;

\

【讨论】:

  • 你怎么知道这是否是一个 ASP.NET 项目?
  • @Steve 这是一个 winform 项目
  • 那么 DataGridView 控件的 DataBind 不存在。这个答案是错误的
  • @MohsenK,只需将 lst 分配给 DataSource。无需数据绑定
  • 然后删除这个答案
猜你喜欢
  • 2011-09-22
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2015-12-02
相关资源
最近更新 更多