/src/mpv5/ui/panels/ProductList.java
http://mp-rechnungs-und-kundenverwaltung.googlecode.com/ · Java · 463 lines · 391 code · 51 blank · 21 comment · 24 complexity · d2545af0af4454304ea83ec8189b57c8 MD5 · raw file
- package mpv5.ui.panels;
- import java.awt.Component;
- import java.awt.event.ActionEvent;
- import java.util.ArrayList;
- import java.util.Date;
- import java.util.List;
- import javax.swing.AbstractAction;
- import javax.swing.JComponent;
- import javax.swing.table.TableCellRenderer;
- import mpv5.db.common.Context;
- import mpv5.db.common.DatabaseObject;
- import mpv5.db.common.NodataFoundException;
- import mpv5.db.common.QueryCriteria2;
- import mpv5.db.common.QueryHandler;
- import mpv5.db.common.QueryParameter;
- import mpv5.db.objects.Product;
- import mpv5.db.objects.ProductGroup;
- import mpv5.globals.Messages;
- import mpv5.logging.Log;
- import mpv5.ui.misc.MPTable;
- import mpv5.utils.date.vTimeframe;
- import mpv5.utils.models.MPTableModel;
- import mpv5.utils.tables.*;
- import mpv5.ui.misc.TableViewPersistenceHandler;
- /**
- *
- *
- */
- public class ProductList extends javax.swing.JPanel implements ListPanel {
- private static final long serialVersionUID = 1L;
- private Context context = Context.getProduct();
- private java.util.ResourceBundle bundle = mpv5.i18n.LanguageManager.getBundle();
- /**
- * Creates new form ListPanel
- */
- public ProductList() {
- initComponents();
- setName("productlist");
- labeledCombobox1.setContext(Context.getSupplier());
- labeledCombobox1.setSearchEnabled(true);
- labeledCombobox2.setContext(Context.getManufacturer());
- labeledCombobox2.setSearchEnabled(true);
- labeledCombobox1.setEditable(true);
- labeledCombobox2.setEditable(true);
- prinitingComboBox1.init(listTable);
- context.addReference(Context.getContact().getDbIdentity(), "ids", "suppliersids");
- context.addReference(Context.getGroup());
- ((MPTable) listTable).setPersistanceHandler(new TableViewPersistenceHandler((MPTable) listTable, this));
- search.getTextField().addActionListener(new AbstractAction() {
- public void actionPerformed(ActionEvent e) {
- filltable(search.getText(), null);
- }
- });
- }
- /**
- * This me4thod is called from within the constructor to initialize the
- * form. WARNING: Do NOT modify this code. The content of this method is
- * always regenerated by the Form Editor.
- */
- @SuppressWarnings("unchecked")
- // <editor-fold defaultstate="collapsed" desc="Generated Code">//GEN-BEGIN:initComponents
- private void initComponents() {
- buttonGroup1 = new javax.swing.ButtonGroup();
- buttonGroup2 = new javax.swing.ButtonGroup();
- jPanel1 = new javax.swing.JPanel();
- jScrollPane1 = new javax.swing.JScrollPane();
- listTable = new mpv5.ui.misc.MPTable(this) {
- public Component prepareRenderer(TableCellRenderer renderer,
- int rowIndex, int vColIndex) {
- Component c = super.prepareRenderer(renderer, rowIndex, vColIndex);
- if (c instanceof JComponent) {
- JComponent jc = (JComponent)c;
- jc.setToolTipText(String.valueOf(getValueAt(rowIndex, vColIndex)));
- }
- return c;
- }
- };
- jPanel2 = new javax.swing.JPanel();
- jPanel3 = new javax.swing.JPanel();
- products = new javax.swing.JRadioButton();
- both = new javax.swing.JRadioButton();
- search = new mpv5.ui.beans.LabeledTextField();
- jLabel1 = new javax.swing.JLabel();
- services = new javax.swing.JRadioButton();
- jButton4 = new javax.swing.JButton();
- labeledCombobox1 = new mpv5.ui.beans.LabeledCombobox();
- jButton3 = new javax.swing.JButton();
- labeledCombobox2 = new mpv5.ui.beans.LabeledCombobox();
- prinitingComboBox1 = new mpv5.ui.beans.PrinitingComboBox();
- jButton1 = new javax.swing.JButton();
- jButton2 = new javax.swing.JButton();
- setName("Form"); // NOI18N
- java.util.ResourceBundle bundle = mpv5.i18n.LanguageManager.getBundle();// NOI18N
- jPanel1.setBorder(javax.swing.BorderFactory.createTitledBorder(bundle.getString("ProductList.jPanel1.border.title"))); // NOI18N
- jPanel1.setName("jPanel1"); // NOI18N
- jScrollPane1.setHorizontalScrollBarPolicy(javax.swing.ScrollPaneConstants.HORIZONTAL_SCROLLBAR_ALWAYS);
- jScrollPane1.setName("jScrollPane1"); // NOI18N
- listTable.setAutoCreateRowSorter(true);
- listTable.setModel(new javax.swing.table.DefaultTableModel(
- new Object [][] {
- {},
- {},
- {},
- {}
- },
- new String [] {
- }
- ));
- listTable.setDragEnabled(true);
- listTable.setFillsViewportHeight(true);
- listTable.setName("listTable"); // NOI18N
- listTable.setShowVerticalLines(false);
- listTable.addMouseListener(new java.awt.event.MouseAdapter() {
- public void mouseClicked(java.awt.event.MouseEvent evt) {
- listTableMouseClicked(evt);
- }
- });
- jScrollPane1.setViewportView(listTable);
- jPanel2.setBorder(javax.swing.BorderFactory.createTitledBorder(bundle.getString("ProductList.jPanel2.border.title"))); // NOI18N
- jPanel2.setName("jPanel2"); // NOI18N
- jPanel3.setName("jPanel3"); // NOI18N
- buttonGroup2.add(products);
- products.setText(bundle.getString("ProductList.products.text")); // NOI18N
- products.setFocusable(false);
- products.setHorizontalTextPosition(javax.swing.SwingConstants.RIGHT);
- products.setMaximumSize(new java.awt.Dimension(333, 20));
- products.setMinimumSize(new java.awt.Dimension(100, 20));
- products.setName("products"); // NOI18N
- products.setPreferredSize(new java.awt.Dimension(100, 20));
- products.setVerticalTextPosition(javax.swing.SwingConstants.BOTTOM);
- buttonGroup2.add(both);
- both.setSelected(true);
- both.setText(bundle.getString("ProductList.both.text")); // NOI18N
- both.setFocusable(false);
- both.setHorizontalTextPosition(javax.swing.SwingConstants.RIGHT);
- both.setMaximumSize(new java.awt.Dimension(333, 20));
- both.setMinimumSize(new java.awt.Dimension(100, 20));
- both.setName("both"); // NOI18N
- both.setPreferredSize(new java.awt.Dimension(100, 20));
- both.setVerticalTextPosition(javax.swing.SwingConstants.BOTTOM);
- search.set_Label(bundle.getString("ProductList.search._Label")); // NOI18N
- search.setName("search"); // NOI18N
- search.setPreferredSize(new java.awt.Dimension(200, 21));
- jLabel1.setFont(jLabel1.getFont().deriveFont(jLabel1.getFont().getStyle() | java.awt.Font.BOLD));
- jLabel1.setText(bundle.getString("ProductList.jLabel1.text")); // NOI18N
- jLabel1.setName("jLabel1"); // NOI18N
- buttonGroup2.add(services);
- services.setText(bundle.getString("ProductList.services.text")); // NOI18N
- services.setFocusable(false);
- services.setHorizontalTextPosition(javax.swing.SwingConstants.RIGHT);
- services.setMaximumSize(new java.awt.Dimension(333, 20));
- services.setMinimumSize(new java.awt.Dimension(100, 20));
- services.setName("services"); // NOI18N
- services.setPreferredSize(new java.awt.Dimension(100, 20));
- services.setVerticalTextPosition(javax.swing.SwingConstants.BOTTOM);
- jButton4.setIcon(new javax.swing.ImageIcon(getClass().getResource("/mpv5/resources/images/16/remove.png"))); // NOI18N
- jButton4.setText(bundle.getString("ProductList.jButton4.text")); // NOI18N
- jButton4.setBorderPainted(false);
- jButton4.setName("jButton4"); // NOI18N
- jButton4.addActionListener(new java.awt.event.ActionListener() {
- public void actionPerformed(java.awt.event.ActionEvent evt) {
- jButton4ActionPerformed(evt);
- }
- });
- labeledCombobox1.set_Label(bundle.getString("ProductList.labeledCombobox1._Label")); // NOI18N
- labeledCombobox1.setName("labeledCombobox1"); // NOI18N
- jButton3.setIcon(new javax.swing.ImageIcon(getClass().getResource("/mpv5/resources/images/16/remove.png"))); // NOI18N
- jButton3.setText(bundle.getString("ProductList.jButton3.text")); // NOI18N
- jButton3.setBorderPainted(false);
- jButton3.setName("jButton3"); // NOI18N
- jButton3.addActionListener(new java.awt.event.ActionListener() {
- public void actionPerformed(java.awt.event.ActionEvent evt) {
- jButton3ActionPerformed(evt);
- }
- });
- labeledCombobox2.set_Label(bundle.getString("ProductList.labeledCombobox2._Label")); // NOI18N
- labeledCombobox2.setName("labeledCombobox2"); // NOI18N
- javax.swing.GroupLayout jPanel3Layout = new javax.swing.GroupLayout(jPanel3);
- jPanel3.setLayout(jPanel3Layout);
- jPanel3Layout.setHorizontalGroup(
- jPanel3Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
- .addGroup(javax.swing.GroupLayout.Alignment.TRAILING, jPanel3Layout.createSequentialGroup()
- .addComponent(jLabel1, javax.swing.GroupLayout.PREFERRED_SIZE, 81, javax.swing.GroupLayout.PREFERRED_SIZE)
- .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
- .addComponent(products, javax.swing.GroupLayout.PREFERRED_SIZE, 151, javax.swing.GroupLayout.PREFERRED_SIZE)
- .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
- .addComponent(services, javax.swing.GroupLayout.PREFERRED_SIZE, 150, javax.swing.GroupLayout.PREFERRED_SIZE)
- .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
- .addComponent(both, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE)
- .addGap(47, 47, 47))
- .addGroup(javax.swing.GroupLayout.Alignment.TRAILING, jPanel3Layout.createSequentialGroup()
- .addGroup(jPanel3Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.TRAILING)
- .addComponent(search, javax.swing.GroupLayout.Alignment.LEADING, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE)
- .addGroup(javax.swing.GroupLayout.Alignment.LEADING, jPanel3Layout.createSequentialGroup()
- .addGroup(jPanel3Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
- .addComponent(labeledCombobox2, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE)
- .addComponent(labeledCombobox1, javax.swing.GroupLayout.PREFERRED_SIZE, 478, javax.swing.GroupLayout.PREFERRED_SIZE))
- .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
- .addGroup(jPanel3Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
- .addComponent(jButton4, javax.swing.GroupLayout.PREFERRED_SIZE, 23, javax.swing.GroupLayout.PREFERRED_SIZE)
- .addComponent(jButton3, javax.swing.GroupLayout.PREFERRED_SIZE, 23, javax.swing.GroupLayout.PREFERRED_SIZE))))
- .addGap(165, 165, 165))
- );
- jPanel3Layout.setVerticalGroup(
- jPanel3Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
- .addGroup(jPanel3Layout.createSequentialGroup()
- .addGroup(jPanel3Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.CENTER)
- .addComponent(jLabel1, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE)
- .addComponent(products, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE)
- .addComponent(services, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE)
- .addComponent(both, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE))
- .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
- .addComponent(search, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)
- .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.UNRELATED)
- .addGroup(jPanel3Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.CENTER)
- .addComponent(labeledCombobox1, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)
- .addComponent(jButton3, javax.swing.GroupLayout.Alignment.LEADING, 0, 0, Short.MAX_VALUE))
- .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
- .addGroup(jPanel3Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.TRAILING)
- .addComponent(labeledCombobox2, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)
- .addComponent(jButton4, javax.swing.GroupLayout.PREFERRED_SIZE, 25, javax.swing.GroupLayout.PREFERRED_SIZE))
- .addContainerGap())
- );
- javax.swing.GroupLayout jPanel2Layout = new javax.swing.GroupLayout(jPanel2);
- jPanel2.setLayout(jPanel2Layout);
- jPanel2Layout.setHorizontalGroup(
- jPanel2Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
- .addGroup(jPanel2Layout.createSequentialGroup()
- .addContainerGap()
- .addComponent(jPanel3, javax.swing.GroupLayout.PREFERRED_SIZE, 518, javax.swing.GroupLayout.PREFERRED_SIZE)
- .addContainerGap(javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE))
- );
- jPanel2Layout.setVerticalGroup(
- jPanel2Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
- .addComponent(jPanel3, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)
- );
- prinitingComboBox1.setName("prinitingComboBox1"); // NOI18N
- jButton1.setText(bundle.getString("ProductList.jButton1.text")); // NOI18N
- jButton1.setName("jButton1"); // NOI18N
- jButton1.addActionListener(new java.awt.event.ActionListener() {
- public void actionPerformed(java.awt.event.ActionEvent evt) {
- jButton1ActionPerformed(evt);
- }
- });
- jButton2.setText(bundle.getString("ProductList.jButton2.text")); // NOI18N
- jButton2.setName("jButton2"); // NOI18N
- jButton2.addActionListener(new java.awt.event.ActionListener() {
- public void actionPerformed(java.awt.event.ActionEvent evt) {
- jButton2ActionPerformed(evt);
- }
- });
- javax.swing.GroupLayout jPanel1Layout = new javax.swing.GroupLayout(jPanel1);
- jPanel1.setLayout(jPanel1Layout);
- jPanel1Layout.setHorizontalGroup(
- jPanel1Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
- .addComponent(jScrollPane1)
- .addGroup(jPanel1Layout.createSequentialGroup()
- .addComponent(prinitingComboBox1, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)
- .addContainerGap())
- .addGroup(jPanel1Layout.createSequentialGroup()
- .addComponent(jPanel2, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)
- .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
- .addGroup(jPanel1Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
- .addComponent(jButton1, javax.swing.GroupLayout.PREFERRED_SIZE, 89, javax.swing.GroupLayout.PREFERRED_SIZE)
- .addComponent(jButton2, javax.swing.GroupLayout.PREFERRED_SIZE, 89, javax.swing.GroupLayout.PREFERRED_SIZE))
- .addGap(0, 15, Short.MAX_VALUE))
- );
- jPanel1Layout.setVerticalGroup(
- jPanel1Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
- .addGroup(jPanel1Layout.createSequentialGroup()
- .addGroup(jPanel1Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING, false)
- .addGroup(jPanel1Layout.createSequentialGroup()
- .addContainerGap()
- .addComponent(jButton1)
- .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED, javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE)
- .addComponent(jButton2))
- .addComponent(jPanel2, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE))
- .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
- .addComponent(jScrollPane1, javax.swing.GroupLayout.DEFAULT_SIZE, 49, Short.MAX_VALUE)
- .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
- .addComponent(prinitingComboBox1, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE))
- );
- javax.swing.GroupLayout layout = new javax.swing.GroupLayout(this);
- this.setLayout(layout);
- layout.setHorizontalGroup(
- layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
- .addComponent(jPanel1, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE)
- );
- layout.setVerticalGroup(
- layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
- .addComponent(jPanel1, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE)
- );
- }// </editor-fold>//GEN-END:initComponents
- private void listTableMouseClicked(java.awt.event.MouseEvent evt) {//GEN-FIRST:event_listTableMouseClicked
- if (evt.getClickCount() > 1) {
- Selection sel = new Selection(listTable);
- if (sel.checkID()) {
- try {
- mpv5.YabsViewProxy.instance().getIdentifierView().addTab(DatabaseObject.getObject(Context.getProduct(), sel.getId()));
- } catch (NodataFoundException ex) {
- Log.Debug(ex);
- }
- }
- }
- }//GEN-LAST:event_listTableMouseClicked
- private void jButton1ActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_jButton1ActionPerformed
- DatabaseObject d = DatabaseObject.getObject(Context.getProduct());
- mpv5.YabsViewProxy.instance().getIdentifierView().addTab(d, Messages.NEW_PRODUCT);
- }//GEN-LAST:event_jButton1ActionPerformed
- private void jButton2ActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_jButton2ActionPerformed
- filltable(search.getText(), null);
- }//GEN-LAST:event_jButton2ActionPerformed
- private void jButton3ActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_jButton3ActionPerformed
- labeledCombobox1.setSelectedIndex(-1);
- }//GEN-LAST:event_jButton3ActionPerformed
- private void jButton4ActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_jButton4ActionPerformed
- labeledCombobox2.setSelectedIndex(-1);
- }//GEN-LAST:event_jButton4ActionPerformed
- // Variables declaration - do not modify//GEN-BEGIN:variables
- private javax.swing.JRadioButton both;
- private javax.swing.ButtonGroup buttonGroup1;
- private javax.swing.ButtonGroup buttonGroup2;
- private javax.swing.JButton jButton1;
- private javax.swing.JButton jButton2;
- private javax.swing.JButton jButton3;
- private javax.swing.JButton jButton4;
- private javax.swing.JLabel jLabel1;
- private javax.swing.JPanel jPanel1;
- private javax.swing.JPanel jPanel2;
- private javax.swing.JPanel jPanel3;
- private javax.swing.JScrollPane jScrollPane1;
- private mpv5.ui.beans.LabeledCombobox labeledCombobox1;
- private mpv5.ui.beans.LabeledCombobox labeledCombobox2;
- private javax.swing.JTable listTable;
- private mpv5.ui.beans.PrinitingComboBox prinitingComboBox1;
- private javax.swing.JRadioButton products;
- private mpv5.ui.beans.LabeledTextField search;
- private javax.swing.JRadioButton services;
- // End of variables declaration//GEN-END:variables
- /**
- * @return the context
- */
- public Context getContext() {
- return context;
- }
- /**
- * @param context the context to set
- */
- public void setContext(Context context) {
- this.context = context;
- }
- public void refresh() {
- }
- public void flush() {
- listTable.setModel(null);
- }
- private void filltable(String search, List<ProductGroup> groups) {
- QueryCriteria2 qc = new QueryCriteria2();
- if (search != null) {
- List<List<QueryParameter>> ps = new ArrayList<List<QueryParameter>>();
- List<QueryParameter> not = new ArrayList<QueryParameter>();
- String[] strings = search.split("\\s+");
- for (int i = 0; i < strings.length; i++) {
- ArrayList<QueryParameter> psx = new ArrayList<QueryParameter>();
- ps.add(psx);
- String string = strings[i];
- for (String en : new Product().getStringVars()) {
- if (!string.startsWith("-")) {
- psx.add(new QueryParameter(Context.getProduct(), en, string, QueryParameter.LIKE));
- } else {
- not.add(new QueryParameter(Context.getProduct(), en, string.substring(1), QueryParameter.NOTLIKE));
- }
- }
- }
- for (int i = 0; i < ps.size(); i++) {
- qc.or(ps.get(i));
- }
- qc.and(not);
- }
- if (!both.isSelected()) {
- int type = Product.TYPE_PRODUCT;
- if (services.isSelected()) {
- type = Product.TYPE_SERVICE;
- }
- qc.and(new QueryParameter(Context.getProduct(), "inttype", type, QueryParameter.EQUALS));
- }
- if (groups != null && !groups.isEmpty()) {
- List<QueryParameter> ps = new ArrayList<QueryParameter>();
- for (int i = 0; i < groups.size(); i++) {
- ProductGroup group = groups.get(i);
- ps.add(new QueryParameter(Context.getProduct(), "productgroupsids", group.__getIDS(), QueryParameter.EQUALS));
- }
- qc.or(ps);
- }
- if (labeledCombobox1.getValue() != null && labeledCombobox1.getComboBox().getSelectedIndex() != -1) {
- qc.and(new QueryParameter(context, "suppliersids", Integer.valueOf(labeledCombobox1.getSelectedItem().getId()), QueryParameter.EQUALS));
- }
- if (labeledCombobox2.getValue() != null && labeledCombobox2.getComboBox().getSelectedIndex() != -1) {
- qc.and(new QueryParameter(context, "manufacturersids", Integer.valueOf(labeledCombobox2.getSelectedItem().getId()), QueryParameter.EQUALS));
- }
- Context c = Context.getProduct();
- c.addReference(Context.getContact().getDbIdentity(), "ids", "suppliersids");
- c.addReference(Context.getGroup());
- try {
- listTable.setModel(new MPTableModel(QueryHandler.instanceOf().clone(c).select(Context.DETAILS_PRODUCTS, qc).getData()));
- } catch (NodataFoundException ex) {
- listTable.setModel(new MPTableModel());
- }
- TableFormat.hideHeader(listTable);
- validate();
- }
- }