在我的表单上有一个列表框,其中包含来自table1的电影标题,如果从列表框中选择一个,则可以看到text2中绑定来自table1的所有电影数据。
但是我有另一张表包含关于所选电影的+数据,但我不知道如何设置文本框,因为如果我只是从table2选择bindingsource它将无法识别电影我需要连接他们......
你能帮我解决一下吗?
这就是我添加table1的方式,所以当用户在文本框中输入时,它可以过滤列表框并选择电影
var h = from s in db.Filmek where s.Filmcim.StartsWith(textBox1.Text) select s;
filmekBindingSource1.DataSource = h;
但我需要来自table2的连接数据才能在文本框中显示
答案 0 :(得分:0)
您是否尝试过在两个表之间进行连接?
首先为连接的两个表的结果创建一个类,如:
public class MovieResult
{
public int MovieId {get;set;}
public string MovieTitle {get;set;}
//Other properties of table one
//Properties of table two
}
然后将您的查询修改为:
var result = from movie in db.Filmek
where movie.Filmcim.StartsWith(textBox1.Text)
join anotherTable in db.OtherTable on movie.FilmId equals anotherTable.FilmId
selecte new MovieResult
{
MovieId = movie.Id,
MovieTitle = movie.Title,
//Fill the properties of table one
//Fill the properties of table two, ex. if table two contains a field named Country
Country = anotherTable.CountryName //etc
}
最后将其绑定到结果:
filmekBindingSource1.DataSource = result;