繁体   English   中英

使用linq从Databse C#中使用列表填充GridView

[英]Filling GridView with list from databse c# using linq

我正在创建WCF服务,并在其中创建了一种从数据库中获取一列值的方法。 方法是

   public List<String> AllFriends(string username)
    {

        MyDatabaseEntities acontext = new MyDatabaseEntities();
        var result = from c in acontext.Friends
                     where c.Owner==username
                     select c.Friend1;
        return result.ToList();
    }

我在客户端将此方法称为:

        List<string> friends = new List<string>();
        friends = aSave.AllFriends(Session.username).ToList();
        dataGridView2.DataSource = friends;

问题是,当我运行它时,它没有用值填充网格,而是向我显示了诸如

length
 2
 4

当我在列表框或组合框上调用相同的方法时,其工作正常,并向我显示正确的字符串,但在显示字符串长度的网格上。 请帮助我解决此问题。

这是因为网格显示对象的公共属性的值。 因此,您需要一个具有string属性而不是string本身的对象。例如,它可以是匿名对象:

dataGridView2.DataSource = friends.Select(f => new {Friend = f});

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM