Skip to content

Commit

Permalink
Implement Programmatically Cell Editing
Browse files Browse the repository at this point in the history
  • Loading branch information
hyyan committed Mar 5, 2018
1 parent d2d0463 commit 789a4d4
Show file tree
Hide file tree
Showing 7 changed files with 708 additions and 71 deletions.
34 changes: 33 additions & 1 deletion BBjGridExWidget.bbj
Expand Up @@ -1099,15 +1099,47 @@ rem --------------------api methods--------------------------------
#HTMLView!.executeScript("gw_setState("+json_state$+")")

methodend

method public void setStartCellEditing(BBjNumber row! , BBjString colId$)
#HTMLView!.executeScript("gw_startEditingCell("+STR(row!)+ ",'" + colId$ + "')")
methodend

method public void setStartCellEditing(BBjNumber row! , BBjString colId$)
#HTMLView!.executeScript("gw_startEditingCell("+STR(row!)+ ",'" + colId$ + "')")
methodend

method public void setStartCellEditing(BBjNumber row! , BBjString colId$, BBjString char$)
#HTMLView!.executeScript("gw_startEditingCell("+STR(row!)+ ",'" + colId$ + "','','" + char$ +"')")
methodend

method public void setStartCellEditing(BBjNumber row! , BBjString colId$,BBjNumber key!)
#HTMLView!.executeScript("gw_startEditingCell("+STR(row!)+ ",'" + colId$ + "','" + STR(key!)+ "')")
methodend

method public void startNextCellEditing()
#HTMLView!.executeScript("gw_editNextCell()")
methodend

method public void startPreviousCellEditing()
#HTMLView!.executeScript("gw_editPreviousCell()")
methodend

method public void stopEditing()
#HTMLView!.executeScript("gw_stopEditing(0)")
methodend

method public void stopEditing(BBjNumber cancel!)
#HTMLView!.executeScript("gw_stopEditing("+STR(cancel!)+ ")")
methodend

rem /**
rem * @return Hashmap with the selected row indexes and items
rem */
method public BBjVector getSelectedRows()
methodret #SelectedRows!
methodend

rem /**
rem /**
rem * @return the selected row
rem */
method public BBjGridExWidgetRow getSelectedRow()
Expand Down
64 changes: 60 additions & 4 deletions Demo/Editing.bbj
Expand Up @@ -12,16 +12,37 @@ declare auto BBjListButton lb_tbl!
declare auto BBjToolButton btn_fit!
declare BBjGridExWidget grid!

wnd! = BBjAPI().openSysGui("X0").addWindow(10,10,800,600,"BBj Grid Ex Demo")
wnd! = BBjAPI().openSysGui("X0").addWindow(10,10,1200,800,"BBj Grid Ex Demo")

grid! = new BBjGridExWidget(wnd!,100,0,0,800,600)
startEditingZero! = wnd!.addButton(300,10,10,200,25,"Start Editing (1 , DOUBLE)")
startEditingZero!.setCallback(BBjAPI.ON_BUTTON_PUSH,"startEditingZeroFunc")

startEditingDelete! = wnd!.addButton(301,220,10,200,25,"Start Editing (1, DOUBLE , 46)")
startEditingDelete!.setCallback(BBjAPI.ON_BUTTON_PUSH,"startEditingDeleteFunc")

startEditingFill! = wnd!.addButton(302,430,10,200,25,"Start Editing (1 , DOUBLE , '200')")
startEditingFill!.setCallback(BBjAPI.ON_BUTTON_PUSH,"startEditingFillFunc")

stopEditing! = wnd!.addButton(303,640,10,100,25,"Stop Editing")
stopEditing!.setCallback(BBjAPI.ON_BUTTON_PUSH,"stopEditingFunc")

stopEditing! = wnd!.addButton(304,750,10,130,25,"Stop And Cancel Editing")
stopEditing!.setCallback(BBjAPI.ON_BUTTON_PUSH,"stopAndCancelEditingFunc")

nextEdit! = wnd!.addButton(305,10,40,130,25,"Next Cell Edit")
nextEdit!.setCallback(BBjAPI.ON_BUTTON_PUSH,"editNext")

previousEdit! = wnd!.addButton(306,150,40,130,25,"Previous Cell Edit")
previousEdit!.setCallback(BBjAPI.ON_BUTTON_PUSH,"editPrevious")

grid! = new BBjGridExWidget(wnd!,100,0,70,1200,800)
grid!.setEnableFilter(1)
grid!.setEnableFloatingFilter(1)


grid!.setSingleClickEdit(1)
grid!.setEnterKeyBehavior(grid!.GRID_ENTER_NEXT_CELL())
REM grid!.setEditType(grid!.GRID_EDITTYPE_ROW())
REM grid!.setEnterKeyBehavior(grid!.GRID_ENTER_NEXT_CELL())
grid!.setEditType(grid!.GRID_EDITTYPE_ROW())

grid!.setCallback(grid!.ON_GRID_ROW_EDITING_STARTED(),"rowEditingStarted")
grid!.setCallback(grid!.ON_GRID_ROW_EDITING_CHANGED(),"rowEditingChanged")
Expand All @@ -37,7 +58,40 @@ wnd! .setCallback(BBjAPI.ON_RESIZE,"resize")
gosub fillGrid

process_events


startEditingZeroFunc:
grid!.stopEditing(1)
grid!.setStartCellEditing(1,"DOUBLE")
return

startEditingDeleteFunc:
grid!.stopEditing(1)
rem KEY CODE for DELETE key is 46
grid!.setStartCellEditing(1,"DOUBLE",46)
return

startEditingFillFunc:
grid!.stopEditing(1)
grid!.setStartCellEditing(1,"DOUBLE","200")
return

stopEditingFunc:
grid!.stopEditing(0)
return

stopAndCancelEditingFunc:
grid!.stopEditing(1)
return

editNext:
grid!.startNextCellEditing()
return

editPrevious:
grid!.startPreviousCellEditing()
return

fillGrid:

rs! = new ResultSet()
Expand All @@ -57,6 +111,7 @@ fillGrid:
dr!.setFieldValue("INTEGER",java.sql.Types.INTEGER,i)

if i=1 then

dr!.setFieldAttribute("DOUBLE","EDITABLE","1")
dr!.setFieldAttribute("DOUBLE","RENDERER_MASK","-### ##0.0000")

Expand Down Expand Up @@ -85,6 +140,7 @@ fillGrid:
dr!.setFieldValue("INTEGER",java.sql.Types.INTEGER,i)

rs!.addItem(dr!)
grid!.setStartCellEditing(1,"DOUBLE")

i=i+1
x=x*-i
Expand Down
2 changes: 1 addition & 1 deletion js/dist/agc-basic-bundle.min.js

Large diffs are not rendered by default.

2 changes: 1 addition & 1 deletion js/dist/bbj-grid-widget.min.js

Large diffs are not rendered by default.

3 changes: 1 addition & 2 deletions js/package.json
Expand Up @@ -22,7 +22,6 @@
"dependencies": {
"ag-grid": "^16.0.1",
"ag-grid-components": "https://git.storesandbox.de/hyyan/ag-grid-components.git",
"ag-grid-enterprise": "^16.0.1",
"bbj-masks": "https://git.storesandbox.de/hyyan/bbj-masks.git"
"ag-grid-enterprise": "^16.0.1"
}
}
24 changes: 24 additions & 0 deletions js/src/api/cells.js
Expand Up @@ -6,6 +6,30 @@
* file that was distributed with this source code.
*/

export function gw_startEditingCell(row, colKey, key, char) {

gw_options.api.setFocusedCell(Number(row), colKey);
gw_options.api.startEditingCell({
rowIndex: Number(row),
colKey: colKey,
keyPress: Number(key),
charPress: char
});
}

export function gw_stopEditing(cancel) {
gw_options.api.stopEditing(cancel);
}

export function gw_editNextCell(){
gw_options.api.tabToNextCell();
};

export function gw_editPreviousCell() {
console.log('sdfsdffd')
gw_options.api.tabToPreviousCell();
}

export function gw_cellStyler(params) {

let cdef = params.column.colDef.cellStyleDefaults || {};
Expand Down

0 comments on commit 789a4d4

Please sign in to comment.