2014-04-20 67 views
0

在我的表單中有一個包含來自table1的電影標題的列表框,如果您從列表框中選擇一個,則可以看到與table1綁定的文本框中的所有電影數據。使用BindingSource和更多表格的文本框

然而,我有另一個表包含有關所選電影的數據,但我不知道如何設置文本框,因爲如果我只是從table2選擇綁定源,它將無法識別我需要的電影將它們連接起來......

你能幫我一個解決方案?

這是我加入table1的,所以當在文本用戶類型也可以過濾列表框,選擇電影

var h = from s in db.Filmek where s.Filmcim.StartsWith(textBox1.Text) select s; 
      filmekBindingSource1.DataSource = h; 

但我需要連接的數據來回m table2也顯示在文本框中

回答

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; 
相關問題