Package org.compiere.model
Class GridTable
- java.lang.Object
-
- javax.swing.table.AbstractTableModel
-
- org.compiere.model.GridTable
-
- All Implemented Interfaces:
Serializable
,TableModel
public class GridTable extends AbstractTableModel implements Serializable
Grid Table Model for JDBC access including buffering.The following data types are handled Integer for all IDs BigDecimal for all Numbers Timestamp for all Dates String for all others The data is read via r/o resultset and cached in m_buffer. Writes/updates are via dynamically constructed SQL INSERT/UPDATE statements. The record is re-read via the resultset to get results of triggers.
The model maintains and fires the requires TableModelEvent changes, the DataChanged events (loading, changed, etc.) as well as Vetoable Change event "RowChange" (for row changes initiated by moving the row in the table grid).- Version:
- $Id: GridTable.java,v 1.9 2006/08/09 16:38:25 jjanke Exp $
- Author:
- Jorg Janke, Teo Sarca, SC ARHIPAC SERVICE SRL
- BF [ 1901192 ] LogMigrationScripts: GridTable.dataSave: manual update
- BF [ 1943682 ] Copy Record should not copy IsApproved and IsGenerated
- BF [ 1949543 ] Window freeze if there is a severe exception
- BF [ 1984310 ] GridTable.getClientOrg() doesn't work for AD_Client/AD_Org, victor.perez@e-evolution.com,www.e-evolution.com
- BF [ 2910358 ] Error in context when a field is found in different tabs. https://sourceforge.net/p/adempiere/bugs/2255/
- BF [ 2910368 ] Error in context when IsActive field is found in different https://sourceforge.net/p/adempiere/bugs/2256/
- See Also:
- Serialized Form
-
-
Field Summary
Fields Modifier and Type Field Description static String
CTX_KeyColumnName
static String
DATA_IGNORED_MESSAGE
static String
DATA_INSERTED_MESSAGE
static String
DATA_REFRESH_MESSAGE
static String
DATA_SAVED_MESSAGE
static String
DATA_UPDATE_COPIED_MESSAGE
static int
DEFAULT_GRIDTABLE_LOAD_TIMEOUT_IN_SECONDS
static String
LOAD_TIMEOUT_ERROR_MESSAGE
static String
PROPERTY
Property of Vetoable Bean support "RowChange"static char
SAVE_ABORT
Save Abort Error - Ustatic char
SAVE_ACCESS
Save Access Error - Astatic char
SAVE_ERROR
Save Error - Estatic char
SAVE_MANDATORY
Save Mandatory Error - Mstatic char
SAVE_OK
Save OK - Oprotected static String
SORTED_DSE_EVENT
-
Fields inherited from class javax.swing.table.AbstractTableModel
listenerList
-
-
Constructor Summary
Constructors Constructor Description GridTable(Properties ctx, int AD_Table_ID, String TableName, int WindowNo, int TabNo, boolean withAccessControl)
JDBC Based Buffered TableGridTable(Properties ctx, int AD_Table_ID, String TableName, int WindowNo, int TabNo, boolean withAccessControl, boolean virtual)
JDBC Based Buffered Table
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description void
addDataStatusListener(DataStatusListener l)
Add Data Status Listenervoid
addField(GridField field)
Add Field to Tablevoid
addVetoableChangeListener(VetoableChangeListener l)
Add Vetoable change listener for row changesvoid
close(boolean finalCall)
Close Resultsetboolean
dataDelete(int row)
Delete Datavoid
dataIgnore()
Ignore changesboolean
dataNew(int currentRow, boolean copyCurrent)
New Record after current Rowvoid
dataRefresh(int row)
Refresh Row - ignore changesvoid
dataRefresh(int row, boolean fireStatusEvent)
Refresh Row - ignore changesvoid
dataRefreshAll()
Refresh all Rows - ignore changesvoid
dataRefreshAll(boolean fireStatusEvent)
Refresh all Rows - ignore changesvoid
dataRefreshAll(boolean fireStatusEvent, int rowToRetained)
Refresh all Rows - ignore changesboolean
dataRequery(String whereClause, boolean onlyCurrentRows, int onlyCurrentDays)
boolean
dataRequery(String whereClause, boolean onlyCurrentRows, int onlyCurrentDays, boolean fireEvents)
Requery with new whereClausechar
dataSave(boolean manualCmd)
Save unconditional.boolean
dataSave(int newRow, boolean manualCmd)
Check if it needs to be saved and save it.int
findColumn(String columnName)
Returns a column given its name.protected void
fireDataStatusEEvent(String AD_Message, String info, boolean isError)
Create and fire Data Status Error Eventprotected void
fireDataStatusEEvent(ValueNamePair errorLog)
Create and fire Data Status Event (from Error Log)protected void
fireDataStatusIEvent(String AD_Message, String info)
Create and fire Data Status Info Eventprotected void
fireVetoableChange(PropertyChangeEvent e)
Fire Vetoable change listener for row changesString
get_TrxName()
int
getColorCode(int row)
Get ColorCode for Row.Class<?>
getColumnClass(int index)
Returns Class of database column/fieldint
getColumnCount()
Get total database column count (displayed and not displayed)String
getColumnName(int index)
Returns database column nameboolean
getCompareDB()
Get Compare DB.GridField
getField(int index)
Get Column at indexprotected GridField
getField(String identifier)
Return Columns with Identifier (ColumnName)int
getFieldCount()
Get (displayed) field countGridField[]
getFields()
Get all Fieldsint
getKeyColumnIndex()
String
getKeyColumnName()
Get Key ColumnNameint
getKeyID(int row)
Get Key ID or -1 of noneint
getNewRow()
Object
getOldValue(int row, int col)
Get Old ValueString
getOrderClause()
Get Order Clause (w/o the ORDER BY)PO
getPO(int row)
int
getRowChanged()
Index of updated row'sint
getRowCount()
Return number of rowsString
getSelectWhereClause()
Get record set Where Clause (w/o the WHERE and w/o History)String
getTableName()
Get Table Nameint
getTabNo()
get Tab NoUUID
getUUID(int row)
Get UUID or null of noneObject
getValueAt(int row, int col)
Get Value in ResultsetString
getWhereClause(int row)
get where clause for rowboolean
hasChanged(int row)
boolean
isCellEditable(int row, int col)
Is Cell Editable.boolean
isImporting()
boolean
isInserting()
Is insertingboolean
isLoading()
Is Loadingboolean
isOnlyCurrentRowsDisplayed()
Is History displayedboolean
isOpen()
Is it open?boolean
isReadOnly()
Is entire Table Read/Onlyboolean
isRowEditable(int row)
Is Current Row Editablevoid
loadComplete()
Wait until async loader of Table and Lookup Fields is complete Used for performance testsboolean
needSave()
Check if the row needs to be savedboolean
needSave(boolean onlyRealChange)
Check if the current row needs to be saved.boolean
needSave(int newRow)
Check if the row needs to be savedboolean
needSave(int newRow, boolean onlyRealChange)
Check if the row needs to be savedboolean
open(int maxRows)
Open Database.void
removeDataStatusListener(DataStatusListener l)
Remove Data Status Listenervoid
removeVetoableChangeListener(VetoableChangeListener l)
Remove Vetoable change listener for row changesvoid
reset()
reset to emptyvoid
resetCacheSortState()
reset the cache sort state ( sort column and sort ascending )void
setChanged(boolean changed)
Indicate that there will be a changevoid
setColorColumn(String columnName)
Set the Column to determine the color of the rowvoid
setCompareDB(boolean compareDB)
Set Compare DB.protected void
setCurrentRow(int m_currentRow)
set current row of gridtable container (gridtab). use in sort to create dse event with new current row (after sort) datavoid
setDeleteable(boolean value)
Can Table rows be deletedprotected void
setFieldVFormat(String identifier, String strNewFormat)
Feature Request [1707462] Enable runtime change of VFormatvoid
setImportingMode(boolean importing, String trxName)
void
setOrderClause(String newOrderClause)
Set Order Clause (w/o the ORDER BY)void
setParameterSELECT(int index, Object parameter)
Set Select Clause Parameter.void
setParameterWHERE(int index, Object parameter)
Set Where Clause Parameter.void
setReadOnly(boolean value)
Set entire table as read onlyboolean
setSelectWhereClause(String newWhereClause, boolean onlyCurrentRows, int onlyCurrentDays)
Set Where Clause (w/o the WHERE and w/o History).void
setTableName(String newTableName)
Set Table Namevoid
setValueAt(Object value, int row, int col)
Set Value in data and update GridField.void
setValueAt(Object value, int row, int col, boolean force)
callsetValueAt(Object, int, int, boolean, boolean)
with isInitEdit = false (called directly or from JTable.editingStopped())void
setValueAt(Object value, int row, int col, boolean force, boolean isInitEdit)
Set Value in data and update GridField.void
sort(int col, boolean ascending)
Sort Entries by Column.String
toString()
toStringvoid
waitLoading(long timeout)
wait for the loading of datavoid
waitLoadingForRow(int row)
-
Methods inherited from class javax.swing.table.AbstractTableModel
addTableModelListener, fireTableCellUpdated, fireTableChanged, fireTableDataChanged, fireTableRowsDeleted, fireTableRowsInserted, fireTableRowsUpdated, fireTableStructureChanged, getListeners, getTableModelListeners, removeTableModelListener
-
-
-
-
Field Detail
-
SORTED_DSE_EVENT
protected static final String SORTED_DSE_EVENT
- See Also:
- Constant Field Values
-
DEFAULT_GRIDTABLE_LOAD_TIMEOUT_IN_SECONDS
public static final int DEFAULT_GRIDTABLE_LOAD_TIMEOUT_IN_SECONDS
- See Also:
- Constant Field Values
-
LOAD_TIMEOUT_ERROR_MESSAGE
public static final String LOAD_TIMEOUT_ERROR_MESSAGE
- See Also:
- Constant Field Values
-
DATA_REFRESH_MESSAGE
public static final String DATA_REFRESH_MESSAGE
- See Also:
- Constant Field Values
-
DATA_UPDATE_COPIED_MESSAGE
public static final String DATA_UPDATE_COPIED_MESSAGE
- See Also:
- Constant Field Values
-
DATA_INSERTED_MESSAGE
public static final String DATA_INSERTED_MESSAGE
- See Also:
- Constant Field Values
-
DATA_IGNORED_MESSAGE
public static final String DATA_IGNORED_MESSAGE
- See Also:
- Constant Field Values
-
DATA_SAVED_MESSAGE
public static final String DATA_SAVED_MESSAGE
- See Also:
- Constant Field Values
-
CTX_KeyColumnName
public static final String CTX_KeyColumnName
- See Also:
- Constant Field Values
-
PROPERTY
public static final String PROPERTY
Property of Vetoable Bean support "RowChange"- See Also:
- Constant Field Values
-
SAVE_OK
public static final char SAVE_OK
Save OK - O- See Also:
- Constant Field Values
-
SAVE_ERROR
public static final char SAVE_ERROR
Save Error - E- See Also:
- Constant Field Values
-
SAVE_ACCESS
public static final char SAVE_ACCESS
Save Access Error - A- See Also:
- Constant Field Values
-
SAVE_MANDATORY
public static final char SAVE_MANDATORY
Save Mandatory Error - M- See Also:
- Constant Field Values
-
SAVE_ABORT
public static final char SAVE_ABORT
Save Abort Error - U- See Also:
- Constant Field Values
-
-
Constructor Detail
-
GridTable
public GridTable(Properties ctx, int AD_Table_ID, String TableName, int WindowNo, int TabNo, boolean withAccessControl)
JDBC Based Buffered Table- Parameters:
ctx
- PropertiesAD_Table_ID
- table idTableName
- table nameWindowNo
- window noTabNo
- tab nowithAccessControl
- if true adds AD_Client/Org restrictions
-
GridTable
public GridTable(Properties ctx, int AD_Table_ID, String TableName, int WindowNo, int TabNo, boolean withAccessControl, boolean virtual)
JDBC Based Buffered Table- Parameters:
ctx
- PropertiesAD_Table_ID
- table idTableName
- table nameWindowNo
- window noTabNo
- tab nowithAccessControl
- if true adds AD_Client/Org restrictuinsvirtual
- use virtual table mode if table is mark as high volume
-
-
Method Detail
-
setTableName
public void setTableName(String newTableName)
Set Table Name- Parameters:
newTableName
- table name
-
getTableName
public String getTableName()
Get Table Name- Returns:
- table name
-
setSelectWhereClause
public boolean setSelectWhereClause(String newWhereClause, boolean onlyCurrentRows, int onlyCurrentDays)
Set Where Clause (w/o the WHERE and w/o History).- Parameters:
newWhereClause
- sql where clauseonlyCurrentRows
- only current rowsonlyCurrentDays
- how many days back for current- Returns:
- true if where clase set
-
getSelectWhereClause
public String getSelectWhereClause()
Get record set Where Clause (w/o the WHERE and w/o History)- Returns:
- where clause
-
isOnlyCurrentRowsDisplayed
public boolean isOnlyCurrentRowsDisplayed()
Is History displayed- Returns:
- true if history displayed
-
setOrderClause
public void setOrderClause(String newOrderClause)
Set Order Clause (w/o the ORDER BY)- Parameters:
newOrderClause
- sql order by clause
-
getOrderClause
public String getOrderClause()
Get Order Clause (w/o the ORDER BY)- Returns:
- order by clause
-
addField
public void addField(GridField field)
Add Field to Table- Parameters:
field
- field
-
getColumnName
public String getColumnName(int index)
Returns database column name- Specified by:
getColumnName
in interfaceTableModel
- Overrides:
getColumnName
in classAbstractTableModel
- Parameters:
index
- the column being queried- Returns:
- column name
-
findColumn
public int findColumn(String columnName)
Returns a column given its name.- Overrides:
findColumn
in classAbstractTableModel
- Parameters:
columnName
- string containing name of column to be located- Returns:
- the column index with
columnName
, or -1 if not found
-
getColumnClass
public Class<?> getColumnClass(int index)
Returns Class of database column/field- Specified by:
getColumnClass
in interfaceTableModel
- Overrides:
getColumnClass
in classAbstractTableModel
- Parameters:
index
- the column being queried- Returns:
- the class
-
setParameterSELECT
public void setParameterSELECT(int index, Object parameter)
Set Select Clause Parameter. Assumes that you set parameters starting from index zero- Parameters:
index
- indexparameter
- parameter
-
setParameterWHERE
public void setParameterWHERE(int index, Object parameter)
Set Where Clause Parameter. Assumes that you set parameters starting from index zero- Parameters:
index
- indexparameter
- parameter
-
getField
public GridField getField(int index)
Get Column at index- Parameters:
index
- index- Returns:
- GridField
-
getField
protected GridField getField(String identifier)
Return Columns with Identifier (ColumnName)- Parameters:
identifier
- column name- Returns:
- GridField
-
getFields
public GridField[] getFields()
Get all Fields- Returns:
- GridFields
-
open
public boolean open(int maxRows)
Open Database. if already opened, data is refreshed- Parameters:
maxRows
- maximum number of rows or 0 for all- Returns:
- true if success
-
loadComplete
public void loadComplete()
Wait until async loader of Table and Lookup Fields is complete Used for performance tests
-
isLoading
public boolean isLoading()
Is Loading- Returns:
- true if loading
-
waitLoading
public void waitLoading(long timeout) throws InterruptedException, ExecutionException, TimeoutException
wait for the loading of data- Parameters:
timeout
- timeout in milisecond. pass 0 or negative value for infinite wait- Throws:
InterruptedException
ExecutionException
TimeoutException
-
isOpen
public boolean isOpen()
Is it open?- Returns:
- true if opened
-
close
public void close(boolean finalCall)
Close Resultset- Parameters:
finalCall
- final call
-
getColumnCount
public int getColumnCount()
Get total database column count (displayed and not displayed)- Specified by:
getColumnCount
in interfaceTableModel
- Returns:
- column count
-
getFieldCount
public int getFieldCount()
Get (displayed) field count- Returns:
- field count
-
getRowCount
public int getRowCount()
Return number of rows- Specified by:
getRowCount
in interfaceTableModel
- Returns:
- Number of rows or 0 if not opened
-
setColorColumn
public void setColorColumn(String columnName)
Set the Column to determine the color of the row- Parameters:
columnName
- column name
-
getColorCode
public int getColorCode(int row)
Get ColorCode for Row.If numerical value in compare column is negative = -1, positive = 1, otherwise = 0
- Parameters:
row
- row- Returns:
- color code
- See Also:
setColorColumn(java.lang.String)
-
sort
public void sort(int col, boolean ascending)
Sort Entries by Column. actually the rows are not sorted, just the access pointer ArrayList with the same size as m_buffer with MSort entities- Parameters:
col
- colascending
- ascending
-
getKeyID
public int getKeyID(int row)
Get Key ID or -1 of none- Parameters:
row
- row- Returns:
- ID or -1
-
getUUID
public UUID getUUID(int row)
Get UUID or null of none- Parameters:
row
- row- Returns:
- UUID or null
-
getKeyColumnName
public String getKeyColumnName()
Get Key ColumnName- Returns:
- key column name
-
getValueAt
public Object getValueAt(int row, int col)
Get Value in Resultset- Specified by:
getValueAt
in interfaceTableModel
- Parameters:
row
- rowcol
- col- Returns:
- Object of that row/column
-
waitLoadingForRow
public void waitLoadingForRow(int row)
-
setChanged
public void setChanged(boolean changed)
Indicate that there will be a change- Parameters:
changed
- changed
-
setValueAt
public final void setValueAt(Object value, int row, int col)
Set Value in data and update GridField. (called directly or from JTable.editingStopped())- Specified by:
setValueAt
in interfaceTableModel
- Overrides:
setValueAt
in classAbstractTableModel
- Parameters:
value
- value to assign to cellrow
- row index of cellcol
- column index of cell
-
setValueAt
public final void setValueAt(Object value, int row, int col, boolean force)
callsetValueAt(Object, int, int, boolean, boolean)
with isInitEdit = false (called directly or from JTable.editingStopped())- Parameters:
value
- value to assign to cellrow
- row index of cellcol
- column index of cellforce
- force setting new value
-
setValueAt
public final void setValueAt(Object value, int row, int col, boolean force, boolean isInitEdit)
Set Value in data and update GridField. (called directly or from JTable.editingStopped())- Parameters:
value
- value to assign to cellrow
- row index of cellcol
- column index of cellforce
- force setting new valueisInitEdit
- indicate event rise by start edit a field. just want change status to edit, don't change anything else
-
getOldValue
public Object getOldValue(int row, int col)
Get Old Value- Parameters:
row
- rowcol
- col- Returns:
- old value
-
needSave
public boolean needSave(boolean onlyRealChange)
Check if the current row needs to be saved.- Parameters:
onlyRealChange
- if true the value of a field was actually changed (e.g. for new records, which have not been changed) - default false- Returns:
- true it needs to be saved
-
needSave
public boolean needSave()
Check if the row needs to be saved. - only if nothing was changed- Returns:
- true it needs to be saved
-
needSave
public boolean needSave(int newRow)
Check if the row needs to be saved. - only when row changed - only if nothing was changed- Parameters:
newRow
- to check- Returns:
- true it needs to be saved
-
needSave
public boolean needSave(int newRow, boolean onlyRealChange)
Check if the row needs to be saved. - only when row changed - only if nothing was changed- Parameters:
newRow
- to checkonlyRealChange
- if true the value of a field was actually changed (e.g. for new records, which have not been changed) - default false- Returns:
- true it needs to be saved
-
dataSave
public boolean dataSave(int newRow, boolean manualCmd)
Check if it needs to be saved and save it.- Parameters:
newRow
- rowmanualCmd
- manual command to save- Returns:
- true if not needed to be saved or successful saved
-
dataSave
public char dataSave(boolean manualCmd)
Save unconditional.- Parameters:
manualCmd
- if true, no vetoable PropertyChange will be fired for save confirmation- Returns:
- OK Or Error condition Error info (Access*, FillMandatory, SaveErrorNotUnique, SaveErrorRowNotFound, SaveErrorDataChanged) is saved in the log
-
dataNew
public boolean dataNew(int currentRow, boolean copyCurrent)
New Record after current Row- Parameters:
currentRow
- rowcopyCurrent
- copy- Returns:
- true if success - Error info (Access*, AccessCannotInsert) is saved in the log
-
dataDelete
public boolean dataDelete(int row)
Delete Data- Parameters:
row
- row- Returns:
- true if success - Error info (Access*, AccessNotDeleteable, DeleteErrorDependent, DeleteError) is saved in the log
-
dataIgnore
public void dataIgnore()
Ignore changes
-
dataRefresh
public void dataRefresh(int row)
Refresh Row - ignore changes- Parameters:
row
- row
-
getWhereClause
public String getWhereClause(int row)
get where clause for row- Parameters:
row
-- Returns:
- where clause
-
dataRefresh
public void dataRefresh(int row, boolean fireStatusEvent)
Refresh Row - ignore changes- Parameters:
row
- rowfireStatusEvent
-
-
dataRefreshAll
public void dataRefreshAll()
Refresh all Rows - ignore changes
-
dataRefreshAll
public void dataRefreshAll(boolean fireStatusEvent)
Refresh all Rows - ignore changes- Parameters:
fireStatusEvent
-
-
dataRefreshAll
public void dataRefreshAll(boolean fireStatusEvent, int rowToRetained)
Refresh all Rows - ignore changes- Parameters:
fireStatusEvent
-
-
dataRequery
public boolean dataRequery(String whereClause, boolean onlyCurrentRows, int onlyCurrentDays, boolean fireEvents)
Requery with new whereClause- Parameters:
whereClause
- sql where clauseonlyCurrentRows
- only current rowsonlyCurrentDays
- how many days backfireEvents
- if tabledatachanged and datastatusievent must be fired- Returns:
- true if success
-
dataRequery
public boolean dataRequery(String whereClause, boolean onlyCurrentRows, int onlyCurrentDays)
-
isCellEditable
public boolean isCellEditable(int row, int col)
Is Cell Editable. Is queried from JTable before checking VCellEditor.isCellEditable- Specified by:
isCellEditable
in interfaceTableModel
- Overrides:
isCellEditable
in classAbstractTableModel
- Parameters:
row
- the row index being queriedcol
- the column index being queried- Returns:
- true, if editable
-
isRowEditable
public boolean isRowEditable(int row)
Is Current Row Editable- Parameters:
row
- row- Returns:
- true if editable
-
setReadOnly
public void setReadOnly(boolean value)
Set entire table as read only- Parameters:
value
- new read only value
-
isReadOnly
public boolean isReadOnly()
Is entire Table Read/Only- Returns:
- true if read only
-
isInserting
public boolean isInserting()
Is inserting- Returns:
- true if inserting
-
setCompareDB
public void setCompareDB(boolean compareDB)
Set Compare DB. If Set to false, save overwrites the record, regardless of DB changes. (When a payment is changed in Sales Order, the payment reversal clears the payment id)- Parameters:
compareDB
- compare DB - false forces overwrite
-
getCompareDB
public boolean getCompareDB()
Get Compare DB.- Returns:
- false if save overwrites the record, regardless of DB changes (false forces overwrite).
-
setDeleteable
public void setDeleteable(boolean value)
Can Table rows be deleted- Parameters:
value
- new deleteable value
-
removeDataStatusListener
public void removeDataStatusListener(DataStatusListener l)
Remove Data Status Listener- Parameters:
l
- listener
-
addDataStatusListener
public void addDataStatusListener(DataStatusListener l)
Add Data Status Listener- Parameters:
l
- listener
-
fireDataStatusIEvent
protected void fireDataStatusIEvent(String AD_Message, String info)
Create and fire Data Status Info Event- Parameters:
AD_Message
- messageinfo
- additional info
-
fireDataStatusEEvent
protected void fireDataStatusEEvent(String AD_Message, String info, boolean isError)
Create and fire Data Status Error Event- Parameters:
AD_Message
- messageinfo
- infoisError
- error
-
fireDataStatusEEvent
protected void fireDataStatusEEvent(ValueNamePair errorLog)
Create and fire Data Status Event (from Error Log)- Parameters:
errorLog
- error log info
-
removeVetoableChangeListener
public void removeVetoableChangeListener(VetoableChangeListener l)
Remove Vetoable change listener for row changes- Parameters:
l
- listener
-
addVetoableChangeListener
public void addVetoableChangeListener(VetoableChangeListener l)
Add Vetoable change listener for row changes- Parameters:
l
- listener
-
fireVetoableChange
protected void fireVetoableChange(PropertyChangeEvent e) throws PropertyVetoException
Fire Vetoable change listener for row changes- Parameters:
e
- event- Throws:
PropertyVetoException
-
toString
public String toString()
toString
-
getNewRow
public int getNewRow()
-
setFieldVFormat
protected void setFieldVFormat(String identifier, String strNewFormat)
Feature Request [1707462] Enable runtime change of VFormat- Parameters:
identifier
- field identstrNewFormat
- new mask author fer_luck
-
hasChanged
public boolean hasChanged(int row)
-
getTabNo
public int getTabNo()
get Tab No- Returns:
- Tab No
-
getPO
public PO getPO(int row)
-
setImportingMode
public void setImportingMode(boolean importing, String trxName)
-
isImporting
public boolean isImporting()
-
get_TrxName
public String get_TrxName()
-
resetCacheSortState
public void resetCacheSortState()
reset the cache sort state ( sort column and sort ascending )
-
getKeyColumnIndex
public int getKeyColumnIndex()
-
getRowChanged
public int getRowChanged()
Index of updated row's
-
reset
public void reset()
reset to empty
-
setCurrentRow
protected void setCurrentRow(int m_currentRow)
set current row of gridtable container (gridtab). use in sort to create dse event with new current row (after sort) data- Parameters:
m_currentRow
-
-
-