Hello,
I have a problem with the HerarchicalGrid. I would like to update a cell value when another cell in the row is edited.
I tried to use the SetCellValue in the 'editRowEnded' event for each features of each columnslayouts and I have two problems :
- it updates the cell value but only in the first grid of the hierarchy. In the sub grids is doesn't work.
- the new value is only updated graphically when the row is edited.
I attached a sample to show you how I did it.
Regards.
Hi,
Is anyone can help me please ?
Hello Cosoluce_Stones,
Thank you for posting in our forum.
I would suggest you to modify your code for setting the cell values in the child grid like this:
$(ui.owner.element).igGridUpdating('setCellValue', ui.rowID, 'Ship',true);
Please let me know if this helps.
Hi Cosoluce_Stones,
Can you please explain what exactly you want to achieve, as I'm not sure I understand correctly?
Hi Nikolay,
I wish to update a cell value when another cell in the row is edited in a HierarchicalGrid for all of the grids and sub grid of the hierarchie.
In my sample, it work's fine with the first level of the hierarchical grid, but for sub level (sub grids), it doesn't work.
Indeed, when I quit an edit cell in the first level of the hierarchical grid, the bool 'In Stock' is automaticaly checked : It works !
But if I quit an edit cell in the sub level of the hierarchical grid, the bool 'Ship' is checked ONLY when the row is editing. And while the row is in edit mode, all of the values are 'copy' from the first row : It's weird
Here is a video to show you my problem :
http://sdrv.ms/1ffdxxN
I attach a sample too.
Best regards.
This issue occurs because the primaryKey of your child grid does not have a unique value. So in rowEditEnded, ui.rowID returns always the same value when editing one particular child grid. That's why on rowEditEnded always the first row of the child grid is updated. I would suggest you to set a column with unique values for primaryKey, for example "StoreCode":
columnLayouts: [ {
key: "Stores",
primaryKey: "StoreCode",
...
Now the behavior should be correct.
Let me know if this helps.
Indeed it works ! Thank you.
I have another question : Is it possible to do the same thing (set the cell value) but without calling the 'commit' method ?
Because I wish to keep all of the modified rows in 'italic' ?
It seems that there is some issue with setCellValue in the version you are using. I would suggest you to upgrade to the latest version of IgniteUI and see if this behavior still occurs.
Hi Coso,
I just want to let you know that this issue has been fixed in the latest service release which can be found under you Infragistics account.
I have created a support ticket on your behalf regarding this issue. Its number is CAS-123758-Q4Q8F5. You can view this case on our website by going to Account - Support Activity. I will contact you through this ticket with more information on the matter.
I already set 'autoCommit' to false, it's not my problem.
I just wish é thing :
- Set a cell value programmaticaly (using the 'setCellValue' method)
- Keep all of edited rows in 'italic'
- http://sdrv.ms/19YhbFh
I attach a sample to show you my problem.
In order to do this you should set autoCommit to false. This will enable the batch updating mode.
Hope this helps.
I already have the lastest version of IgniteUI.
Your solution work for me (to set the 'primaryKey'), but I wish to know how can I set a cell value by without calling the 'commit' method.
Indeed when I call the 'setCellValue' method and after that I call the 'commit' method, the cell value is changed. But the edited row is no longer in italic.
I wish to set a cell value without calling the 'commit' method. I wish to keep my edited rows in 'italic'.