Adatbázistervezés Blog

Az adatbázistervezéstől az üzleti intelligencia rendszerekig (nem csak) kisvállalkozóknak
Home » Adatbázistervezés Blog | Reporting Services | Tippek és Trükkök

Link megnyitása új lapon SSRS riportból

17. június 2016 by Babaics Alexandra 0 Megjegyzések

Folytatom a Tippek és Trükkök sorozatomat. Ma egy SQL Server Reporting Services (SSRS) trükköt hoztam, mégpedig azt, hogyan lehet megoldani azt, hogy ha a riportunkban egy linkre kattintunk, akkor ne elnavigáljunk, hanem inkább új lapon nyíljon meg a kért link.


Nézzük képekben miről is van szó! Az alábbiakban egy SSRS riport egy részlete látható, amelyben van egy „külső” honlapra mutató link. Ha rákattintunk, akkor marad a riportunk betöltve és új lapon nyílik meg a honlap. A következőkben megnézzük, hogyan is kell ilyen linket létrehozni.



Linket egy Reporting Services riportban viszonylag egyszerű létrehozni.

1. Visual Studio-ban tervező nézetben megnyitva a riportot, kattints a megfelelő mezőnévre jobb gombbal.

2. Válaszd a TextBox Properties… menüpontot!


3. A megnyíló párbeszédablakon (alábbi képen bal oldali) válaszd az oldalmenüből az Action-t.

4. Válaszd a Go To URL –t és az alatta lévő Select URL: sor végén lévő Expression button-t.

5. Az Expression-be kell definiálni a kívánságainkat (alábbi képen jobboldalon).


Íme a kívánságunk:

=IIf(IsNothing(Fields!CompanyMainURL.Value), "", "javascript:void(window.open('"+ Fields!CompanyMainURL.Value + "','_blank'))")

Vizsgáljuk meg ezt lépésről lépésre!

1. Fields!CompanyMainURL.Value

Ez tartalmazza a linket, mert egy olyan adatbázismezőre mutat, amelyben a cég honlapját letároltuk (pl. http://adatbazistervezes.hu).

Ezzel véget is érne a link létrehozás, de mi azt szeretnénk, hogy új lapon nyíljon meg a honlap.

2. Itt ez a kis beágyazható javascript, amely megoldja az igényünket.

javascript:void(window.open())

3. Ezt felhasználva, akár készen is lehetnénk…

javascript:void(window.open('"+ Fields!CompanyMainURL.Value + "','_blank'))

4. De! Mi van, ha nincs kitöltve, azaz NULL értékünk van, akkor ezt kezelnünk kell.

Erre szolgál az IsNothing függvény, amelynek visszatérési értéke Igaz (True), ha NULL és (Hamis) False, ha nem NULL, azaz ki van töltve.

IsNothing(Fields!CompanyMainURL.Value)

5. Végül megmondjuk neki, mit csináljon. Ha az előbbi kifejezés igaz, akkor ne jelenjen meg semmi (""), ha hamis, tehát ki van töltve, akkor meg a megfelelő érték, amely alatt ott csücsül a linkünk. Ezt az IIF függvénnyel tehetjük meg.

=IIf(IsNothing(Fields!CompanyMainURL.Value), "", "javascript:void(window.open('"+ Fields!CompanyMainURL.Value + "','_blank'))")

Miután publikáltuk a riportunkat (Deploy), futtassuk és teszteljük a működést!

Látható is, ha az egeret a linkre húzzuk, alul a böngésző szürke sávjában megjelenik a parancsunk.

Ha rákattintunk a linkre, akkor pedig új oldalon betölti a tartalmat is.

Megjegyzések lezárva