import java.awt.event.KeyEvent;
import java.awt.event.MouseAdapter;
import java.awt.event.MouseEvent;
+import java.text.DecimalFormat;
import java.util.ArrayList;
import java.util.Arrays;
import java.util.Collection;
import java.util.Collections;
import java.util.Comparator;
+import java.util.HashSet;
import java.util.List;
import javax.swing.ImageIcon;
protected int pageLimit;
+ protected HashSet<String> paginatorCart = new HashSet<String>();
+
+ protected static final DecimalFormat totalNumberformatter = new DecimalFormat(
+ "###,###");
+
private JTable tbl_summary = new JTable()
{
private boolean inLayout;
}
}
});
-
btn_next_page.setEnabled(false);
btn_next_page.setToolTipText(MessageManager
.getString("label.next_page_tooltop"));
if (!getTypedText().equalsIgnoreCase(lastSearchTerm))
{
searchAction(true);
+ paginatorCart.clear();
lastSearchTerm = getTypedText();
}
}
if (wantedFieldsUpdated())
{
searchAction(true);
+ paginatorCart.clear();
}
else
{
public void validateSelection()
{
- if (tbl_summary.getSelectedRows().length > 0)
+ if (tbl_summary.getSelectedRows().length > 0
+ || !paginatorCart.isEmpty())
{
btn_ok.setEnabled(true);
}
@Override
public void prevPageAction()
{
+ updatePaginatorCart();
if (offSet >= pageLimit)
{
offSet = offSet - pageLimit;
@Override
public void nextPageAction()
{
+ updatePaginatorCart();
offSet = offSet + pageLimit;
searchAction(false);
+ }
+ public void updatePaginatorCart()
+ {
+ int primaryKeyColIndex = 0;
+ JTable resultTable = getResultTable();
+ int totalRows = resultTable.getRowCount();
+ try
+ {
+ primaryKeyColIndex = getFTSRestClient().getPrimaryKeyColumIndex(
+ wantedFields, false);
+ } catch (Exception e)
+ {
+ e.printStackTrace();
+ }
+
+ for (int row = 0; row < totalRows; row++)
+ {
+ String id = (String) resultTable.getValueAt(row, primaryKeyColIndex);
+ if (paginatorCart.contains(id))
+ {
+ paginatorCart.remove(id);
+ }
+ }
+ int[] selectedRows = resultTable.getSelectedRows();
+ for (int summaryRow : selectedRows)
+ {
+ String idStr = resultTable.getValueAt(summaryRow,
+ primaryKeyColIndex).toString();
+ paginatorCart.add(idStr);
+ }
+ // System.out.println("Paginator shopping cart size : "
+ // + paginatorCart.size());
}
+ public void updateSummaryTableSelections()
+ {
+ JTable resultTable = getResultTable();
+ if (paginatorCart.isEmpty())
+ {
+ return;
+ }
+ int primaryKeyColIndex = 0;
+ try
+ {
+ primaryKeyColIndex = getFTSRestClient().getPrimaryKeyColumIndex(
+ wantedFields, false);
+ } catch (Exception e)
+ {
+ e.printStackTrace();
+ }
+ // System.out.println(">>>>>> got here : 1");
+ int totalRows = resultTable.getRowCount();
+ // resultTable.clearSelection();
+ for (int row = 0; row < totalRows; row++)
+ {
+ String id = (String) resultTable.getValueAt(row, primaryKeyColIndex);
+ if (paginatorCart.contains(id))
+ {
+ resultTable.addRowSelectionInterval(row, row);
+ }
+ }
+ validateSelection();
+ }
public void refreshPaginatorState()
{
// System.out.println("resultSet count : " + resultSetCount);
// System.out.println("page limit : " + pageLimit);
setPrevPageButtonEnabled(false);
setNextPageButtonEnabled(false);
+ if (resultSetCount == 0 && pageLimit == 0)
+ {
+ return;
+ }
if (resultSetCount >= pageLimit)
{
setNextPageButtonEnabled(true);