Pages

vendredi 8 février 2013

ASP : Gridview, Querystring et uniqueidentifier

Comment utiliser un querystring avec un uniqueidentifier SQL Server afin de le passer en paramètre d'un Gridview ?

Après bien des recherches, la solution m'a été donnée par ce post : http://forums.asp.net/t/1486101.aspx/1

Il suffit de supprimer le Type="Object"
<asp:QueryStringParameter Name="UserId" QueryStringField="UserID" Type="Object" />
devient
 <asp:QueryStringParameter Name="UserId" QueryStringField="UserID" />

jeudi 15 mars 2012

Somme conditionnelle

Comment additionner un sous ensemble de valeurs dans un tableau, par exemple, seulement les valeurs négatives ?
=sum(iif(Fields!Score.Value < 0,CDec(Fields!Score.Value),CDec(0)))
Dans mon cas, les valeurs étaient de type décimal et j'ai dû les convertir  (CDec) pour que ça fonctionne.

Source : http://www.tek-tips.com/viewthread.cfm?qid=1072925

vendredi 9 mars 2012

Nombres décimaux : n'afficher que deux décimales

Si SQL Server me renvoie plus de deux décimales, comment n'en afficher que deux ?

Je fais cela au niveau du dataset du rapport :
select cast(Number as decimal (6,2)) from T
Cela me permet de ne pas affecter le séparateur de décimal.

Format date

Pour formater une date :
format(Fields!date.Value,"dd/MM/yyyy")
Source : http://social.msdn.microsoft.com/Forums/en/sqlreportingservices/thread/f94b66ea-5bf0-4259-a857-899690ef87ee

Remettre un numéro de page à zéro en cas de saut de page dans un groupe

Comment faire ?

1. Vérifier qu'une 'textbox' (d'une table par exemple) contient une expression pour un groupe

2. Ajouter le code suivant au rapport :
Shared offset as Integer
Shared currentgroup as Object
Public Function GetGroupPageNumber(group as Object, pagenumber as Integer) as Object
If Not (group = currentgroup)
offset = pagenumber - 1
currentgroup = group
End If
Return pagenumber - offset
End Function
3. Ajouter dans l'en-tête/pied de page, une 'textbox' avec la code suivant :
=Code.GetGroupPageNumber(ReportItem("textbox#").Value,Globals!PageNumber)
 Source : http://blogs.msdn.com/b/chrishays/archive/2006/01/05/resetpagenumberongroup.aspx

Valeur d'une Textbox

Utiliser : 
ReportItems("textbox#").value

Expressions régulières : supprimer du code html

Du code html a été introduit dans la base de données.

Pour le supprimer dans SSRS, utiliser l'expression suivante :
=System.Text.RegularExpressions.Regex.Replace(Fields![Name].Value,"<(.|\n)+?>","")