IDEMPIERE-1228 use saved query with active column, make result empty record. Revert an optimization make at 5495274 for IDEMPIERE-1105 that break advance search for YesNo field.

This commit is contained in:
Heng Sin Low 2013-08-14 15:50:56 +08:00
parent ea449dbd6b
commit b697fcbff1
1 changed files with 39 additions and 40 deletions

View File

@ -612,54 +612,53 @@ public class FindWindow extends Window implements EventListener<Event>, ValueCha
for (int i = 0; i < m_findFields.length; i++) for (int i = 0; i < m_findFields.length; i++)
{ {
GridField mField = m_findFields[i]; GridField mField = m_findFields[i];
if (mField.getVO().displayType == DisplayType.YesNo) {
// Make Yes-No searchable as list
GridFieldVO vo = mField.getVO();
GridFieldVO ynvo = vo.clone(vo.ctx, vo.WindowNo, vo.TabNo, vo.AD_Window_ID, vo.AD_Tab_ID, vo.tabReadOnly);
ynvo.IsDisplayed = true;
ynvo.displayType = DisplayType.List;
ynvo.AD_Reference_Value_ID = REFERENCE_YESNO;
if (mField.isSelectionColumn()) { ynvo.lookupInfo = MLookupFactory.getLookupInfo (ynvo.ctx, ynvo.WindowNo, ynvo.AD_Column_ID, ynvo.displayType,
if (mField.getVO().displayType == DisplayType.YesNo) { Env.getLanguage(ynvo.ctx), ynvo.ColumnName, ynvo.AD_Reference_Value_ID,
// Make Yes-No searchable as list ynvo.IsParent, ynvo.ValidationCode);
GridFieldVO vo = mField.getVO();
GridFieldVO ynvo = vo.clone(vo.ctx, vo.WindowNo, vo.TabNo, vo.AD_Window_ID, vo.AD_Tab_ID, vo.tabReadOnly);
ynvo.IsDisplayed = true;
ynvo.displayType = DisplayType.List;
ynvo.AD_Reference_Value_ID = REFERENCE_YESNO;
ynvo.lookupInfo = MLookupFactory.getLookupInfo (ynvo.ctx, ynvo.WindowNo, ynvo.AD_Column_ID, ynvo.displayType, GridField ynfield = new GridField(ynvo);
Env.getLanguage(ynvo.ctx), ynvo.ColumnName, ynvo.AD_Reference_Value_ID,
ynvo.IsParent, ynvo.ValidationCode);
GridField ynfield = new GridField(ynvo); // replace the original field by the YN List field
m_findFields[i] = ynfield;
mField = ynfield;
} else if ( mField.getVO().displayType == DisplayType.Button ) {
// Make Buttons searchable
GridFieldVO vo = mField.getVO();
if ( vo.AD_Reference_Value_ID > 0 )
{
GridFieldVO postedvo = vo.clone(vo.ctx, vo.WindowNo, vo.TabNo, vo.AD_Window_ID, vo.AD_Tab_ID, vo.tabReadOnly);
postedvo.IsDisplayed = true;
postedvo.displayType = DisplayType.List;
// replace the original field by the YN List field postedvo.lookupInfo = MLookupFactory.getLookupInfo (postedvo.ctx, postedvo.WindowNo, postedvo.AD_Column_ID, postedvo.displayType,
m_findFields[i] = ynfield; Env.getLanguage(postedvo.ctx), postedvo.ColumnName, postedvo.AD_Reference_Value_ID,
mField = ynfield; postedvo.IsParent, postedvo.ValidationCode);
} else if ( mField.getVO().displayType == DisplayType.Button ) {
// Make Buttons searchable
GridFieldVO vo = mField.getVO();
if ( vo.AD_Reference_Value_ID > 0 )
{
GridFieldVO postedvo = vo.clone(vo.ctx, vo.WindowNo, vo.TabNo, vo.AD_Window_ID, vo.AD_Tab_ID, vo.tabReadOnly);
postedvo.IsDisplayed = true;
postedvo.displayType = DisplayType.List;
postedvo.lookupInfo = MLookupFactory.getLookupInfo (postedvo.ctx, postedvo.WindowNo, postedvo.AD_Column_ID, postedvo.displayType, GridField postedfield = new GridField(postedvo);
Env.getLanguage(postedvo.ctx), postedvo.ColumnName, postedvo.AD_Reference_Value_ID,
postedvo.IsParent, postedvo.ValidationCode);
GridField postedfield = new GridField(postedvo); // replace the original field by the Posted List field
m_findFields[i] = postedfield;
// replace the original field by the Posted List field mField = postedfield;
m_findFields[i] = postedfield; }
mField = postedfield; } else {
} // clone the field and clean gridtab - IDEMPIERE-1105
} else { GridField findField = (GridField) mField.clone(m_findCtx);
// clone the field and clean gridtab - IDEMPIERE-1105 findField.setGridTab(null);
GridField findField = (GridField) mField.clone(m_findCtx); m_findFields[i] = findField;
findField.setGridTab(null); mField = findField;
m_findFields[i] = findField; }
mField = findField; if (mField.isSelectionColumn()) {
}
gridFieldList.add(mField); gridFieldList.add(mField);
} // isSelectionColumn } // isSelectionColumn
} // for all target tab fields } // for all target tab fields