在EF中我有一个Entity,Stuff,我想在这个代码中使用所有Stuffs Stuffs表填充Gridview组合框:
var stuffs = from t in Database.Context.Stuffs
select t;
return stuffs.ToList<Stuff>();
datagridview.datasource=stuffs;
我重写ToString方法:
public override string ToString()
{
return this.Name + "-" + this.CompanyName;
}
但是收到此错误:
datagridview组合框单元格值无效错误
答案 0 :(得分:0)
您是否尝试使用显示多个列的组合框?
你能发送你的组合框的xaml代码吗?你如何绑定它?
如果是这样,你可能需要的是绑定类的属性上的每一列,而不是重写ToString()以返回字符串中的每个值。
答案 1 :(得分:0)
我不是说这是最好的方法,我不熟悉WinForms。
但是有了这个样本,它似乎想要你想要:
class Stuff
{
public string Name { get; set; }
public string CieName { get; set; }
public override string ToString()
{
return string.Format("{0}-{1}", Name, CieName);
}
}
public partial class Form1 : Form
{
private List<Stuff> _myList = new List<Stuff>()
{
new Stuff() {Name = "Anne", CieName = "Google"},
new Stuff() {Name = "Creg", CieName = "Yahoo"}
};
public Form1()
{
InitializeComponent();
BindComboBoxColumnDataSource();
}
private void BindComboBoxColumnDataSource()
{
var comboColumn = dataGridView1.Columns["ComboBoxColumn"] as DataGridViewComboBoxColumn;
if (comboColumn != null)
comboColumn.DataSource = _myList;
}
}