The Infor Communities is globally accessed system by
Infor and its customers, please do not post or upload
any content that could be deemed as sensitive, confidential or
subject to any data regulation requirements.
If you are unsure whether or not the content contains sensitive,
confidential or has any data regulation requirements,
please seek the advice of your internal security, legal, and compliance experts.
I’m running into some issues while trying to get a header value to correctly show the summed value of a particular grid column. However, when I make a change to a value in this grid column, after I save the value is one save behind.
I’ve tried multiple different approaches to this – My initial thought was that it would just be a derived column and sum the values in the grid, but this didn’t work.
My next step was to try and emulate forms where this already looked to be working, namely the Customer Order Quick Entry. I noticed that the two of these forms use Triggers to Sum the header values, which I’ve also got working, but still cannot seem to get it to stay in lockstep.
Interestingly enough I see that the Purchase Order Quick Order Entry is also suffering from this issue.
I’ve tried using the following code:
Dim bValue As Boolean
bValue = ThisForm.PrimaryIDOCollection.RefreshKeepCurIndex()
Which presents its own issues. I have it hooked up with the save completed event, but if I have the focus set inside the grid, CSI Crashes. I believe this a toolset issue as I have seen it mentioned on xtreme before.
I have also tried using the NotifyDependentsToRefresh function on the Primary IDO, but this too is still one refresh behind.
If anyone has any help or suggestions I’d be keen to hear them.
I have a similar approach,Can refer to itMy System functions operation method isadd new grid column, keyin new value on "Machine Time(MT)" , then autosum value to Machine Time(MT) field(Before saving).
use the Data Change events,Script --------------------------Dim oGridContentsCache As IWSIDOCollectionDim dValue As DecimalDim iCount As IntegerDim dMTi As Decimal
'''get the grid dataoGridContentsCache = ThisForm.Components("grid1").IDOCollectiondValue = 0
'''get the field value to sumFor iCount = 0 To oGridContentsCache.GetNumEntries - 1dMTi = oGridContentsCache.Item(iCount).Properties("MTi").GetValueOfDecimal(0)dValue = CDec(dValue + (dMTi))Next iCount
'''Writeback the value to MT field, Before savingThisForm.PrimaryIDOCollection.CurrentItem.Properties("MT").SetValuePlusModifyRefresh(dValue)---------------------------
Thanks fore the response. My only question in regards to this is, if for some reason the user was filtering the subgrid, for example on a specific line (I don't know why they would either, believe me), and then they update that line, the header value would sum to just that single line?
Also, that changes the header value before the line level changes are saved does it not? If I were to refresh the form after making a change, the header value would persist, but not the changes to in the grid?
Hi JamieSorry. I haven't met this situation.
「...the header value would sum to just that single line?」>>>if the form is Customization form, I think need add 'for loop' Script tell system to sum subgrid.
I am sorry that I couldn't help