* @see net.pleso.framework.client.ui.controls.dataGrid.interfaces.IDataBinder#bindRow(net.pleso.framework.client.ui.controls.dataGrid.interfaces.IDataGridRow)
*/
public void bindRow(IDataGridRow dataGridRow) {
for (int i = 0; i < columns.length; ++i) {
// by default value in cell is empty string value
IDBValue value = new DBString();
// first check parent data column type - IRBDataColumn
if (columns[i] instanceof IRBDataColumn) {
value = ((IDataRow) dataGridRow.getDataRow())
.getCell(((IRBDataColumn) columns[i]).getDataColumn());
if (value != null) {
// if value is boolean value
if (value instanceof DBBoolean) {
// set special widget for boolean values
// all another types shows default handler
dataGridRow.setCellWidget(i, new BooleanValueWidget((DBBoolean) value));
continue;
}
}
}
// check IRBEnumDataColumn
if (columns[i] instanceof IRBEnumDataColumn) {
String stringValue = getEnumValue(value,
((IRBEnumDataColumn) columns[i]).getEnum());
if (stringValue == null)
dataGridRow.setCellWidget(i, new HTML(" "));
else
dataGridRow.setCellText(i, stringValue);
continue;
}
// insert handlers for your IRB data solumns types HERE !
// default handler of value without check columns types
if (value == null) {
dataGridRow.setCellWidget(i, new HTML(" "));
} else {
if (value.isNull())
dataGridRow.setCellWidget(i, new HTML(" "));
else
dataGridRow.setCellText(i, value.getValue());
}
}
checkRowClassifier(dataGridRow);
}