代码之家  ›  专栏  ›  技术社区  ›  Martin Marconcini

使用DatagridView和Linq to SQL的最简单方法

  •  6
  • Martin Marconcini  · 技术社区  · 15 年前

    我想做一些简单的事情:

     var q = from cust in dc.Customers
             where cust.FirstName == someString
             select cust;
    
     var list = new BindingList<Customer>(q.ToList());
     return list;
    

    然后,在DataGridView1.DataSource中使用该列表就是我所需要的,然而,无论我用谷歌搜索了多少,我都找不到一个像样的例子来说明如何将(用于添加/编辑/修改)单个表查询的结果填充到DataGridView1中。大多数示例都谈到了我缺少的ASP.NET,这是WinForms。

    有什么想法吗?

    我遗漏了什么(一定很明显)?

    5 回复  |  直到 14 年前
        1
  •  4
  •   Lazarus    15 年前

    您可以将IQueryable结果绑定到DataGridView,但不确定为什么要将其转换为BindingList,这是否有特定的原因?

        2
  •  3
  •   Marc Gravell    15 年前

    你可以看看 TableList<T> this post BindingList<T> ,但在数据上下文中使用钩子。

        3
  •  2
  •   Community CDub    7 年前

    试试这个,看看杜加的答案: unable-to-edit-datagridview-populated-with-results-of-linq-query

    MergeEntry 你使用的类 Customer 上课。

        4
  •  0
  •   Waheed    15 年前

    把它绑起来。

        var q = from cust in dc.Customers
                where cust.FirstName == someString
                select cust;
        DataGridView1.DataSource = q
    

        5
  •  0
  •   jww avp    10 年前

    string=“2014年11月12日”

    试试这个:

    try
    {
        con_a_refacionesDataContextDataContext con = new con_a_refacionesDataContextDataContext();
        BindingSource b = new BindingSource();
        b.DataSource = from eq in con.Venta 
                       where eq.fecha_dia == st 
                       select eq;
        dataGridView1.DataSource = b;
    }
    catch
    {
    }