private void renderReadOnlyColumns(HtmlWriter w)
{
if (record instanceof Record && ((Record)record).isValid())
{ // Special Timestamp Logic
Column timestamp = null;
if (record instanceof DBRecord)
{ // Only for instances of DBRecord!
timestamp = ((DBRecord)record).getRowSet().getTimestampColumn();
}
// Key Columns
Record rec = (Record)record;
Column [] keyCols = rec.getKeyColumns();
String sysdate = DBDatabase.SYSDATE.toString();
int count = rec.getFieldCount();
for (int i=0; i<count; i++)
{
Column column = rec.getColumn(i);
if (column==null)
continue;
if (column!=timestamp)
{ // Check if column was modified
if (rec.wasModified(column)==false || rec.isFieldReadOnly(column)==false)
continue;
// Check whether column is a key column
if (isKeyColumn(column, keyCols))
continue;
}
// Check for Null-Value
if (record.isNull(i))
continue;
// Add hidden field
String value = StringUtils.toString(record.getValue(i));
if (column.getDataType()==DataType.DATETIME && sysdate.equals(value)==false)
{ // Special for Timestamps
Date date = ObjectUtils.getDate(record.getValue(i));
value = formatDate(date, "yyyy-MM-dd HH:mm:ss.S");
}
else if (column.getDataType()==DataType.DATE && sysdate.equals(value)==false)
{ // Special for Timestamps
Date date = ObjectUtils.getDate(record.getValue(i));
value = formatDate(date, "yyyy-MM-dd");
}
// Add hidden field