2538.test01.zip
Attached project with hierarchical grid and dataset as data source.. please show how to add calculation of the total of the amounts on the child records on the parent record on the client side when value of the child records are changing.. Please show it on the attached project.
Thanks.
Hello Michael,
Thank you for the sample application you have provided.
In order to update a parent row's cell based on the values of all its child rows, I can suggest you handle the CellExitedEditMode client-side event of the CellEditing behavior of the child band.This will allow you to recalculate and apply the new value of the parent row's cell whenever one of the corresponding cells of its child rows has been updated.
For example:
<ig:EditingCore AutoCRUD="False" BatchUpdating="True"> <Behaviors> <ig:CellEditing> ... <%--=================== CellEditingClientEvents ===================--%> <CellEditingClientEvents ExitedEditMode="childCellExitedEditMode" /> </ig:CellEditing> </Behaviors> </ig:EditingCore>
function childCellExitedEditMode(sender, args) { // Terminate execution if the edited cell is not from the 'amount' column if (args.getCell().get_column().get_key() !== "amount") return; let parentRow = args.getCell().get_row().get_grid().get_parentRow(); let childRows = parentRow.get_rowIslands()[0].get_rows(); let childRowsCount = childRows.get_length(); let newTotalValue = 0; for (let i = 0; i < childRowsCount; i++) { let childRow = childRows.get_row(i); newTotalValue += childRow.get_cellByColumnKey('amount').get_value(); } parentRow.get_cellByColumnKey('total').set_value(newTotalValue); }
I have attached a sample application that demonstrates the approach from above.
If you have any questions, please let me know.
2438.test01(Modified).zip
Thanks