} else
// If this is simple editable column.
if (items[i] instanceof IEditColumnFormItem) {
// Interface type cast.
IEditColumnFormItem item = (IEditColumnFormItem) items[i];
// Getting value for DB type detecting.
IDBValue value = dataRow.getCell(item.getDataColumn());
ISingleColumnBind ctrl = null;
// If this is multiline edited item.
if (item instanceof IMultilineEditFormItem
&& value instanceof DBString) {
ctrl = new TextAreaDataControl(
((IMultilineEditFormItem) item).getRowsCount());
} else {
// Creating control depending on retrieved value type.
if (value instanceof DBHTMLString)
ctrl = new RichTextAreaDataControl();
if (value instanceof DBString)
ctrl = new TextBoxDataControl();
else if (value instanceof DBInteger)
ctrl = new IntegerDataControl();
else if (value instanceof DBBoolean) {
if (item.isRequired())
ctrl = new BooleanDataControl();
else
ctrl = new BooleanComboBoxDataControl();
} else if (value instanceof DBBigInt)
ctrl = new IntegerDataControl();
else if (value instanceof DBDate)
ctrl = new CalendarDataControl();
else if (value instanceof DBStringTime)
ctrl = new TextBoxDataControl();
else if (value instanceof DBFloat)
ctrl = new FloatDataControl();
}
// Binding row and column to control.
ctrl.bind(dataRow, item.getDataColumn());
addedControl = (IBindableDataControl) ctrl;
}
// If this is read only information enumeration item.
else if (items[i] instanceof IInfoEnumColumnFormItem) {