我正在使用实体并创建了一个表。
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应用程序。答案 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://dotprogramming.blogspot.in/2013/09/how-to-bind-listview-with-string-list.html
http://www.c-sharpcorner.com/UploadFile/raj1979/DataBinding10042007165025PM/DataBinding.aspx
希望对你有所帮助。你也可以按照上面的答案建议通过forloop添加项目。