使用表数据填充列表

时间:2013-11-06 06:02:25

标签: c# .net entity-framework

我正在使用实体并创建了一个表。

namespace TestExample {

 public class Blog
 {
  public int BlogId {get; set; }
  public String Title {get; set;}
  public String Description {get; set;}

  public virtual Blog Blogs {get; set;}
 }

 public class BloggingContext : DbContext
 {
    public DbSet<Blog> Blogs { get; set; }
 }

 class Program 
 {
  static void Main (string[] args) {
        var db = new BloggingContext()
        // Display all Blogs from the database
        var query = (from b in db.Blogs
                    orderby b.Title
                    select b).ToList();


        foreach (var item in query)
        {
            //
        }
 }
}

我如何使用整个表格填充列表框?当我尝试Listbox.Datasource = query;我得到了奇怪的结果。是否有其他方式,而不是通过每个项目和打印出item.Title,item.Description等?

编辑:它是一个winforms应用程序。

2 个答案:

答案 0 :(得分:2)

尝试以下代码行添加新项目..

var query = (from b in db.Blogs
                orderby b.Title
                select b.Title).ToList();

foreach (var item in query)
        {
            mylistbox.items.add(item );
        }

答案 1 :(得分:1)

我不确定你在寻找asp.net应用程序,windows窗体或wpf。所以我给出了所有三种选择。对于asp.net应用程序,以下是代码。

listBox.DataSource=query;
listBox.DataTextField  = "Title";
listBox.DataValueField = "BlogId";
listBox.DataBind();

如果您使用的是Windows表单,则可以使用以下内容。

listBox.DataSource = query;
listBox.DisplayMember   = "Title";
listBox.DataBind();

有关详细信息,请参阅以下Windows窗体链接 http://msdn.microsoft.com/en-us/library/w67sdsex(v=vs.90).aspx

对于WPF-请浏览以下链接。

http://social.msdn.microsoft.com/Forums/vstudio/en-US/c9b7b7a5-d9c0-4c6c-afcc-9b382991fd8a/how-to-bind-a-generic-list-to-a-wpf-listview?forum=wpf

http://dotprogramming.blogspot.in/2013/09/how-to-bind-listview-with-string-list.html

http://www.c-sharpcorner.com/UploadFile/raj1979/DataBinding10042007165025PM/DataBinding.aspx

希望对你有所帮助。你也可以按照上面的答案建议通过forloop添加项目。