protected function initReportRows()
	{
		$tag = "ReportTableDrafter: initReportRows()";
		Log::debug("$tag");
		
		// call parent method
		parent::initReportRows();
		
		// re-format values for table dispaly
		$reportRows = $this->reportRows;
		
		if( (is_array($reportRows)) && (count($reportRows)>0) )
		{
			foreach($reportRows as $row)
			{
				foreach($row->columns as $key=>$reportColumn)
				{
					$value = $reportColumn->value;
					if( (empty($value)) && ($value!="0") )
					{
						$value = " ";
						$reportColumn->value = $value;
					}
				}
			}
			$this->reportRows = $reportRows;
		}
	}
<?php

require_once "ClassLoader.php";
/*
// #1
*/
echo "<h1>Testing ReportDrafter</h1>";
$reportBP = ReportBlueprint::reportBlueprintWithQuery("SELECT * FROM Member", "id", "MemberList");
$drafter = new ReportDrafter($reportBP);
echo $drafter->render();
/*
// #2
*/
echo "<h1>Testing ReportTableDrafter</h1>";
$reportBP = ReportBlueprint::reportBlueprintWithQuery("SELECT * FROM Member", "id", "MemberList");
$drafter = new ReportTableDrafter($reportBP);
echo $drafter->render();
/*
// #3
*/
echo "<h1>Testing ReportTableDrafter with Specific Fields</h1>";
$reportBP = ReportBlueprint::reportBlueprintWithQuery("SELECT * FROM Member", "id", "MemberList");
$login = new ListField("login");
$login->setDisplayName("Login");
$reportBP->add($login);
$passwd = new ListField("passwd");
$passwd->setDisplayName("Secret Key");
$passwd->setFormat("password");
$reportBP->add($passwd);
$email = new ListField("email");
$email->setDisplayName("Email Address");