Met*_*uru 4 c# combobox list linq-to-sql winforms
这是代码:
cmbVegas.Items.AddRange((VegasPegasusCourseObject[])convertableCourses.ToArray());
cmbVegas.DisplayMember = "VegasCourseName";
cmbVegas.ValueMember = "CourseMapID";
Run Code Online (Sandbox Code Playgroud)
convertableCourses是一个 List<VegasPegasusCourseObject>
这是我从以下列表获取列表:
public List<VegasPegasusCourseObject> GetConvertedCourses()
{
using (PanamaDataContext db = new PanamaDataContext())
{
IQueryable<VegasPegasusCourseObject> vegasCourses = from cm in db.VegasToPegasusCourseMaps
join c in db.Courses on cm.VegasCourseID equals c.CourseID
join cp in db.Courses on cm.PegasusCourseID equals cp.CourseID
select new VegasPegasusCourseObject
{
CourseMapID = cm.VPCMapID,
VegasCourseName = c.CourseName,
VegasCourseID = cm.VegasCourseID,
PegasusCourseID = cm.PegasusCourseID,
PegasusCourseName = cp.CourseName
};
return vegasCourses.ToList();
}
}
Run Code Online (Sandbox Code Playgroud)
这是obj def:
class VegasPegasusCourseObject
{
public int CourseMapID;
public string VegasCourseName;
public int VegasCourseID;
public string PegasusCourseName;
public int PegasusCourseID;
}
Run Code Online (Sandbox Code Playgroud)
然而,当我解雇这个婴儿时,这就是我所得到的:

Red*_*dog 11
根据上面的评论,问题是由于"VegasCourseName"被写为字段而不是属性.因此,ToString已经示出了实现.
改为使用属性:
class VegasPegasusCourseObject
{
public string VegasCourseName { get; set;}
}
Run Code Online (Sandbox Code Playgroud)