First question: you can do it with labelFunction
property of datagridcolumn.
<mx:DataGridColumn dataField="fieldValue" editable="false"
labelFunction="hideZero">
private function hideZero(item:Object, column:DataGridColumn):String
{
if(item.fieldValue == 0)
return "";
return item.fieldValue;
}
second question: use a drop in item renderer.
<mx:DataGridColumn dataField="dValue" editable="false">
<mx:itemRenderer>
<mx:Component>
<mx:CheckBox selected="{data.dValue == 'true'}"/>
</mx:Component>
</mx:itemRenderer>
</mx:DataGridColumn>
replace dValue with appropriate dataField.