Griglia e VistaDati: applicazione di uno stile differente ad una riga (vecchio layout)

' Il seguente snippet deve essere inserito nell'EventoRender e consente di applicare uno stile differente ad una riga di una griglia
' In particolare, viene inserito il colore di testo rosso per tutte le celle di una riga nella quale i valori di due celle superano due valori di riferimento
' Lo snippet può essere facilmente modificato per modificare lo sfondo e/o applicare uno stile diverso solo ad alcune celle. Come si può vedere, la modifica è effettuata tramite l'applicazione di una specifica classe CSS, che può essere definita a piacere.
' N.B. può essere utilizzato solo se NuovoLayout=false

form.AddStyle(".Critical","background-color:red !important") 

dim i as integer

for i=1 to form.FindControl("Grid1").RowCount()
	if form.FindControl("Grid1").GetCellValue(i,"NUMBER1")>10
		form.FindControl("Grid1").SetRowStyle(i,"Critical")
	Else
		form.FindControl("Grid1").SetRowStyle(i,"")
	End If
Next

' ***** Versione utilizzabile con release precedenti alla 2021.07+4
dim style as string
dim g as QWWebControls.QWWebGrid2 = form.findcontrol("Grid1")
style="<style type=""text/css"">"
style+="  .Critical{color:red}"  ' Colore font rosso
' style+=" .Critical{background-color:red !important}"  ' Sfondo rosso
style+="</style>"

dim l as new System.Web.Ui.WebControls.literal

l.text = style
g.parent.controls.add(l)

For Each r As Infragistics.Web.UI.GridControls.GridRecord In g.rows
	dim gr as integer=val(r.items(4).text)
	dim ir as integer=val(r.items(9).text)
	dim stile as string
		
	if gr>=form.findcontrol("MaxDet").value or ir>=form.findcontrol("MaxRisk").value then
		stile = "Critical" 
	else
		stile = ""
	end if
	
	for each c as Infragistics.Web.UI.GridControls.GridRecordItem in r.Items
		c.CssClass=stile
	Next
Next