簡體   English   中英

將多個數據源綁定到單個ListView

[英]Binding multiple DataSources to a single ListView

我有一個包含兩個表UserImage的數據庫。

User包含字段ID(主鍵)和用戶名Images包含字段ID (主鍵), UserID (外鍵鏈接到User.ID )和ImageTitle

我有一個包含這些值的ASP控件的ListView

<h1><%#Eval ("ImageTitle") %></h1>
<h4 id="authorText">Uploaded by <%#Eval ("UserID") %></h4>

在類后面的代碼中,我有以下代碼綁定數據:

DataClasses1DataContext PiccyPic = new DataClasses1DataContext();

        var images = from i in PiccyPic.Images
                     select i;

        lvwImages.DataSource = images;
        lvwImages.DataBind();

現在,當我要從圖像表中檢索值時,此方法很好用,但是如上所示,我有“上傳者”,然后是用戶ID,需要用戶名。

我要問的是,我如何將UserImage表都綁定到同一列表視圖,以便可以從這兩個表訪問屬性?

切記,當兩個表都使用ID值作為其主鍵時,它需要知道我要引用的表的ID列。

您不能將兩個數據源分配給ListView。 因此,您有責任將兩個數據源收集到結果集中。 您可以使用存儲過程或C#代碼創建帶有兩個數據集的一個數據集。 這是存儲過程的示例,如果您需要c#代碼,請告訴我

您可以創建存儲過程(聯接SQL查詢),該存儲過程將返回帶有字段的單個DataTable

從USer中選擇USer.UserID,UserName,ImageId,ImageTitle內連接圖像user.userid = images.userid

然后將此數據表用作ListView的數據源

您需要加入。

問題中沒有足夠的信息來為您提供完整的答案,但是您應該能夠從此MSDN文章中找出語法: http : //msdn.microsoft.com/zh-cn/library/bb397941.aspx

我懷疑新查詢看起來像這樣,但是在不知道如何設置類的情況下很難說。

var images = from i in PiccyPic.Images
join user in PiccyPic.Users on i.UserId equals user.Id
select new { property1 = i.Property1, property2 = user.Property2, etc. }

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM