2013-04-25 47 views
4

在參考我的這個問題,如何創建一個超鏈接字段進行SQL查詢

GridView Table 1 related to Table 2

我有一個GridView它看起來像這樣的時刻,

enter image description here

這是SQL fiddle

問題:

如何用FruitTitle創建HyperLinkField並鏈接到水果網站?

這是我使用的時刻顯示Types_of_Fruits_in_Crate的代碼和完美的作品,

  BoundField theField = new BoundField(); 
      theField.DataField = "Types_of_Fruits_in_Crate"; 
      gv.Columns.Add(theField); 

要放什麼

  HyperLinkField theField = new HyperLinkField(); 
      theField.DataTextField = 'Types_of_Fruits_in_Crate'; 
      theField.DataNavigateUrlFields = // not sure .... 
+0

+1好的格式化:) – 2013-04-25 16:16:50

回答

2

使用文字的控制,而不是超鏈接,然後嘗試使用以下查詢:

SELECT CrateTitle,CrateDescription,CrateID, 
stuff(
(
    SELECT '<a href=''' + [FruitWebsite] + ''' target=''_blank''>'+ [FruitTitle] +'</a>' 
    FROM fruits WHERE CrateID = t.CrateID FOR XML path('') 
),1,1,' ') Types_of_Fruits_in_Crate 
FROM (SELECT DISTINCT CrateTitle,CrateDescription,CrateID FROM fruits)t 
+0

+1,謝謝,但遺憾,因爲它不工作,我想兄弟,它讓我看到URL旁邊fruitTitle的時候我只想fruitTitle作爲超鏈接字段 – Mathematics 2013-04-26 10:01:48

+0

不應該只是告訴你FruitTitle作爲超鏈接,你是否使用Literal控件並將其綁定到這個結果? – 2013-04-26 11:35:26

+0

沒有爲我工作,但我用這個,而不是,http://www.ashishblog.com/blog/nested-gridview-in-showhide-effect-using-c-net/ – Mathematics 2013-04-26 15:30:26

2

請嘗試像下面,它會幫助你...

SQL FIDDLE:http://www.sqlfiddle.com/#!3/96a49/18

SQL:

SELECT CrateTitle,CrateDescription,CrateID, 
stuff(
(
    SELECT ',<a href=''' + [FruitWebsite] + ''' target=''_blank''>'+ [FruitTitle] +'</a>' FROM fruits WHERE CrateID = t.CrateID FOR XML path('') 
),1,1,' ') Types_of_Fruits_in_Crate 
FROM (SELECT DISTINCT CrateTitle,CrateDescription,CrateID FROM fruits)t 

此外,添加HTML編碼=在你的代碼FALSE則只有HTML功能反映在您的網格視圖

C#:

BoundField theField = new BoundField(); 
    theField.DataField = "Types_of_Fruits_in_Crate"; 
    theField.HtmlEncode = false; 
    gv.Columns.Add(theField); 
+0

+1,謝謝,但對不起,因爲它不工作,因爲我想要先生,它顯示我旁邊的fruitTitle URL當我只想fruitTitle作爲超鏈接字段 – Mathematics 2013-04-26 10:00:06

+0

我可能需要使用ASP:HyperLink標記而不是HTML – Mathematics 2013-04-26 10:19:07