Fix Bug ID: [ 2167723 ] FindDialog doesn't work with product search

Patch provided and tested by Tobias Schöneberg.
This commit is contained in:
mark_o 2008-10-15 08:56:33 +00:00
parent 0cff991941
commit 51b13dd495
1 changed files with 12 additions and 0 deletions

View File

@ -107,6 +107,8 @@ import org.compiere.util.ValueNamePair;
public final class Find extends CDialog public final class Find extends CDialog
implements ActionListener, ChangeListener, DataStatusListener implements ActionListener, ChangeListener, DataStatusListener
{ {
private static final long serialVersionUID = 6414604433732835410L;
private int m_AD_Tab_ID; private int m_AD_Tab_ID;
/** /**
@ -233,6 +235,9 @@ public final class Find extends CDialog
private Component spaceS; private Component spaceS;
private JScrollPane advancedScrollPane = new JScrollPane(); private JScrollPane advancedScrollPane = new JScrollPane();
private CTable advancedTable = new CTable() { private CTable advancedTable = new CTable() {
private static final long serialVersionUID = -6201749159307529032L;
public boolean isCellEditable(int row, int column) public boolean isCellEditable(int row, int column)
{ {
boolean editable = ( column == INDEX_COLUMNNAME boolean editable = ( column == INDEX_COLUMNNAME
@ -508,6 +513,9 @@ public final class Find extends CDialog
{ {
VLookup vl = new VLookup(mField.getColumnName(), false, false, true, VLookup vl = new VLookup(mField.getColumnName(), false, false, true,
mField.getLookup()); mField.getLookup());
//setting mField to avoid NPE
vl.setField(mField);
vl.setName(mField.getColumnName()); vl.setName(mField.getColumnName());
editor = vl; editor = vl;
} }
@ -555,6 +563,8 @@ public final class Find extends CDialog
final Action tabAction = advancedTable.getActionMap().get(im.get(tab)); final Action tabAction = advancedTable.getActionMap().get(im.get(tab));
Action tabActionWrapper = new AbstractAction() Action tabActionWrapper = new AbstractAction()
{ {
private static final long serialVersionUID = -6868476640719619801L;
public void actionPerformed(ActionEvent e) public void actionPerformed(ActionEvent e)
{ {
tabAction.actionPerformed(e); tabAction.actionPerformed(e);
@ -568,6 +578,8 @@ public final class Find extends CDialog
final Action shiftTabAction = advancedTable.getActionMap().get(im.get(shiftTab)); final Action shiftTabAction = advancedTable.getActionMap().get(im.get(shiftTab));
Action shiftTabActionWrapper = new AbstractAction() Action shiftTabActionWrapper = new AbstractAction()
{ {
private static final long serialVersionUID = 5493691483070046620L;
public void actionPerformed(ActionEvent e) public void actionPerformed(ActionEvent e)
{ {
shiftTabAction.actionPerformed(e); shiftTabAction.actionPerformed(e);