diff --git a/BBjGridExWidget.bbj b/BBjGridExWidget.bbj index 8d92a387..a46a4bdb 100644 --- a/BBjGridExWidget.bbj +++ b/BBjGridExWidget.bbj @@ -146,7 +146,7 @@ class public BBjGridExWidget extends BBjWidget field private DataRow ColumnDefinition! - field private HashMap SelectedRows! = new HashMap() + field private HashMap SelectedRowsMap! = new HashMap() rem --------------------- constructors ------------------------------------- rem /** @@ -408,10 +408,10 @@ class public BBjGridExWidget extends BBjWidget if row!.getIsSelected() = 1 then selected!.add(row!) - #SelectedRows!.put(row!.getId(),row!) + #SelectedRowsMap!.put(row!.getId(),row!) else deselected!.add(row!) - #SelectedRows!.remove(row!.getId()) + #SelectedRowsMap!.remove(row!.getId()) fi wend @@ -996,23 +996,51 @@ rem --------------------api methods-------------------------------- rem /** rem * @return Hashmap with the selected row indexes and items rem */ - method public BBjVector getSelectedRows() - methodret #SelectedRows! + method public BBjVector getSelectedRowsInfo() + methodret #SelectedRowsMap! methodend rem /** rem * @return the selected row rem */ - method public BBjGridExWidgetRow getSelectedRow() + method public BBjGridExWidgetRow getSelectedRowInfo() - if #SelectedRows!.size() > 0 then - it! = #SelectedRows!.entrySet().iterator() + if #SelectedRowsMap!.size() > 0 then + it! = #SelectedRowsMap!.entrySet().iterator() methodret it!.next().getValue() fi methodret null() methodend + rem /** + rem * @return BBjVector with the selected row indexes and items + rem */ + method public BBjVector getSelectedRows() + declare BBjVector ids! + ids! = new BBjVector() + + it! = #SelectedRowsMap!.entrySet().iterator() + while it!.hasNext() + ids!.addItem(it!.next().getValue().getId()) + wend + methodret ids! + + methodend + + rem /** + rem * @return the selected row + rem */ + method public BBjNumber getSelectedRow() + + if #SelectedRowsMap!.size() > 0 then + it! = #SelectedRowsMap!.entrySet().iterator() + methodret num(it!.next().getValue().getId()) + fi + + methodret -1 + methodend + method public void setTheme(BBjString theme$) if pos(theme$="dark#fresh#blue#bootstrap#material")>0 then if info(3,6)="5" then diff --git a/Demo/SelectionDemo.bbj b/Demo/SelectionDemo.bbj index 35475a71..5addafbd 100644 --- a/Demo/SelectionDemo.bbj +++ b/Demo/SelectionDemo.bbj @@ -61,10 +61,12 @@ onRowSelect: ev! = BBjAPI().getLastEvent() ev! = ev!.getObject() print 'SHOW', ev!.getRowCount(), " ROW(s) AFFECTED By Event:" , ev!.getRows() - print 'SHOW', ev!.getSelectedRowCount()," ROW(S) SELECTED By Event: ",ev!.getSelectedIds() - print 'SHOW', ev!.getDeselectedRowCount()," ROW(S) DESELECTED By Event: ",ev!.getDeselectedIds() - print 'SHOW', grid!.getSelectedRows().size()," ROW(S) SELECTED SO FAR : ", grid!.getSelectedRows() - print 'SHOW', "------------------------------------------------------------------------" + print ev!.getSelectedRowCount()," ROW(S) SELECTED By Event: ",ev!.getSelectedIds() + print ev!.getDeselectedRowCount()," ROW(S) DESELECTED By Event: ",ev!.getDeselectedIds() + print 'BR',grid!.getSelectedRows().size()," GET SELECTED ROWS : ", grid!.getSelectedRows(),'ER' + print 'BR',grid!.getSelectedRows().size()," GET SELECTED ROW : ", grid!.getSelectedRow(),'ER' + + print "------------------------------------------------------------------------" return onRowDoubleclick: diff --git a/docs/javadoc/BBjGridExWidget.html b/docs/javadoc/BBjGridExWidget.html index 01e0ff5b..52bf32d6 100644 --- a/docs/javadoc/BBjGridExWidget.html +++ b/docs/javadoc/BBjGridExWidget.html @@ -2,9 +2,9 @@
- +BBjGridExWidgetRow
BBjNumber
getSelectedRow()
BBjGridExWidgetRow
getSelectedRowInfo()
BBjVector
getSelectedRows()
BBjVector
getSelectedRowsInfo()
BBjVector
getThemes()
static BBjNumber
GRID_ALIGN_CENTER()
static BBjNumber
GRID_ALIGN_LEFT()
static BBjNumber
GRID_ALIGN_RIGHT()
static BBjString
GRID_ROWPOS_BOTTOM()
static BBjString
GRID_ROWPOS_MIDDLE()
static BBjString
GRID_ROWPOS_TOP()
static BBjNumber
GRID_SELECT_CELL()
static BBjNumber
GRID_SELECT_ROW()
void
moveColumn(BBjString Field$,
BBjNumber toIndex!)
static BBjNumber
ON_GRID_DOUBLE_CLICK()
static BBjNumber
ON_GRID_SELECT_ROW()
void
onLoad(BBjEvent ev!)
void
onNativeEvent(BBjNativeJavaScriptEvent ev!)
void
pinColumn(BBjString Field$,
BBjString pin$)
void
redraw(java.lang.Boolean f_init!)
void
selectAll()
void
selectAll(BBjNumber x!)
void
setColumnAlignment(BBjString Field$,
BBjNumber align)
void
setColumnBackColor(BBjString Field$,
BBjColor color!)
void
setColumnForeColor(BBjString Field$,
BBjColor color!)
void
setColumnState(BBjGridExWidgetColumnState state!)
void
setColumnWidth(BBjString Field$,
BBjNumber w!)
void
setData(DataTree tree!)
void
setData(DataTree rs!,
BBjString RowNodeId$)
void
setData(DataTree rs!,
BBjString RowNodeId$,
BBjString ParentNodeId$)
void
setData(ResultSet rs!)
void
setData(ResultSet rs!,
BBjString RowNodeId$)
void
setEnableFilter(BBjNumber enable)
void
setEnableFloatingFilter(BBjNumber enable)
void
setFitToGrid(BBjNumber fit!)
void
setGroupColumnLabel(BBjString label$)
void
setGroupSelectsChildren(BBjNumber x!)
void
setMultipleSelection(BBjNumber multiple)
void
setQuickFilter(BBjNumber filter)
void
setQuickFilter(BBjString filter!)
void
setSelectedRow(BBjNumber x!)
void
setSelectedRows(BBjVector x!)
void
setSelectionMode(BBjNumber mode)
void
setShowGroupChildCount(BBjNumber status!)
void
setShowSelectionCheckbox(BBjNumber x!)
void
setTheme(BBjString theme$)
void
setVisibleColumn(BBjString columnId!)
void
setVisibleRow(BBjNumber index!,
BBjString position!)
@@ -484,7 +492,7 @@ void
showDeveloperConsole()
public void setColumnState(BBjGridExWidgetColumnState state!)+ + + +
public BBjVector getSelectedRowsInfo()+
public BBjGridExWidgetRow getSelectedRowInfo()+
public BBjVector getSelectedRows()
public BBjGridExWidgetRow getSelectedRow()+
public BBjNumber getSelectedRow()