Include the client JavaScript & CSS libraries
<link rel="stylesheet" type="text/css" href="dbnetsuite.css.ashx"/>
<script language="JavaScript" src="dbnetsuite.js.ashx"></script>
Client-side configuration script
<script>
jQuery(document).ready( init )
var reportType = "month"
var columnTemplate = "([Order Details].[Unit Price]*Quantity)*(1-ABS(SIGN(DatePart(mm,[Order Date])-{period}))) AS period{period}"
function init()
{
var dbnetgrid1 = new DbNetGrid("dbnetgrid1");
with (dbnetgrid1)
{
connectionString = "SamplesDatabaseSqlServerCE"
fromPart = "Customers " +
"INNER JOIN Orders ON Customers.[Customer ID] = Orders.[Customer ID] " +
"INNER JOIN [Order Details] ON Orders.[Order ID] = [Order Details].[Order ID] " +
"INNER JOIN [Products] ON Products.[Product ID] = [Order Details].[Product ID] " +
"INNER JOIN [Categories] ON Categories.[Category ID] = Products.[Category ID]"
var cols = ["Categories.[Category Name]"]
var labels = ["Category"]
for ( var m = 1; m <= 12; m++ )
{
cols.push( columnTemplate.replace(/{period}/g,m) )
setColumnProperty("period" + m, "aggregate","sum")
setColumnProperty("period" + m, "format","C")
labels.push(DbNetLink.dateOptions.monthNames[m-1])
}
cols.push( "[Order Details].[Unit Price]*Quantity as total" )
labels.push( "Total" )
setColumnProperty("total", "aggregate","sum")
setColumnProperty("total", "format","C")
setColumnExpressions(cols)
setColumnLabels(labels)
groupBy = true
initialize()
}
}
</script>
HTML markup
<div id="dbnetgrid1"></div>