2015-03-13 62 views
0

早上好。將3個表格和數據綁定加入組合框

我有3個表(SQL Server)的用這個佈局:

GenreMovies: | RowID | MovieGenre| 
    GenreMusic: |RowID | MusicGenre | 
    GenrePodcast:| RowID | PodcastGenre| 

我有一個組合框/下拉,我試圖用一個查詢來填充:

 var infoQuery = 
        (from MovieGen in dbContext.GenreMovies 
        select MovieGen.RowID) 
        .Union 
         (from MusicGen in dbContext.GenreMusics 
         select MusicGen.RowID).Union(from PodcastGen in dbContext.GenrePodcasts select PodcastGen.RowID).ToList(); 


     GridSortSearch.DataTextField = "MovieGenre"; 
     GridSortSearch.DataSource = infoQuery; 
     GridSortSearch.DataBind(); 

我有兩個問題該查詢只填充「RowID」 和組合框/下拉框在「DataTextField」上失敗

+0

該查詢僅帶有rowid,因爲這是您在每個查詢中選擇的內容,並且因爲沒有可以綁定到組合的名爲「MovieGenre」的字段。你想用這個做什麼? – 2015-03-13 14:43:03

+0

我試圖讓列中的所有值都可以在下拉列表中選擇。 因此,所有MovieGenre列的值,即MusicGenre列的ontop,位於PodcastGenre列的頂部。 – 2015-03-13 15:43:33

回答

0

就像我說的你需要返回結果上的相同行實現你想要的。

就像這樣,請注意對DataTextField值的選擇和名稱的更改。

var infoQuery = 
        (from MovieGen in dbContext.GenreMovies 
        select new { MovieGen.RowID, Genre=MovieGen.MovieGenre}) 
        .Union 
         (from MusicGen in dbContext.GenreMusics 
         select new {MusicGen.RowID, Genre=MusicGen.MusicGenre).Union(from PodcastGen in dbContext.GenrePodcasts select new {PodcastGen.RowID, Genre=PodcastGen.PodcastGenre).ToList(); 


     GridSortSearch.DataTextField = "Genre"; 
     GridSortSearch.DataSource = infoQuery; 
     GridSortSearch.DataBind(); 

我無法編譯/測試我現在在哪裏,但應該工作。

+0

GREAT SCOTT!通過jove!我相信我們已經得到它! (需要進一步的額外測試...請保留)... – 2015-03-13 16:05:25