2008-10-31 69 views
0

我在同事的網站上工作,他錯誤地提出了一個顯示TypeID而不是TypeName的GridView。我想把類型的實際名稱,而不是它的任意ID號碼,就像他擁有它。我看到他在頁面上有兩個「ObjectDataSource」 - 一個是Type和一個是Item。 Items包含項目所屬的TYPE的ID,全部在Items數據源中。他拉這個ID來填充gridview。我想使用該ID將名稱從其他數據源中提取出來,並將該名稱放入該特定列的網格視圖中。這可以做到嗎?我可以在gridview上使用兩個不同的數據源嗎?一個gridview - 兩個數據源?

回答

4

,如果我理解這個權利,你有什麼在兩個數據源是這樣做:

1) SELECT ID, Item, ItemTypeID FROM Item 
2) SELECT ID, ItemType FROM ItemTypes 

而你想要的項目名稱,並在網格中顯示的項目類型。

要回答您的基本問題,是否可以在網格上同時使用這兩個來源:是的。但是這不是執行操作的最有效方式,因爲您需要爲第一行中的每一行遍歷第二個數據源。

更好的方法是將兩個數據源連接在一起,並且只有一個。

修改SELECT語句的第一datasrouce是沿着這些路線的東西:

SELECT i.ID, i.Item, t.ItemType FROM Item i INNER JOIN ItemTypes t ON i.ItemTypeId = t.ID; 
+0

謝謝 - 我想它有點我自己。 (當然,學習我猜),並且我創建了一個新的從兩個表中拉取的ObjectDataSource。當我修改現有的SQL時,出現了一些我不明白的錯誤。創建一個新的數據源解決了我的問題,但你讓我走上了正確的軌道:) – Kolten 2008-10-31 16:58:47