Hi there, I've updated my project from IgniteUI 14.1 to 16.1, and JQuery from 1.7.2 to 1.9.1.
In my grid, on the second level, I use the "iggridupdatingeditcellstarted " event to check if the new value is negative, and handle that, as such:
// Get current Row
var row = ui.owner.grid.dataSource.dataView()[ui.owner._rowIndex];
// Calculate new balance
var balance = row.transfer_size_qty - ui.value
// If it will go negative, set to intransit_size_qty
if (balance < 0)
{ ui.value = row.intransit_size_qty; }
In 14.1, this code worked but since updating to 16.1 I get "JavaScript runtime error: Unable to get property 'transfer_size_qty' of undefined or null reference"
In Intellisense, I get "row.intransit_size_qty", but not "row.transfer_size_qty" coming up, yet they both seem to be correctly defined in the grid and the model.
If I add: alert(row.transfer_size_qty) after " var row = ..." its then recognized, but if I remove it, its gone again.
Any ideas what could be causing this?
Thanks Deon
Thanks Mike, have managed to get it working now.
Regards
Deon
Hello Deon,
I have modified the sample to be more generic so it works on both levels. Before when I said the edit ending didn’t have ui.owner.grid I was mistaken I was thrown off by you checking for “ID” when the column key should have been “ProductID” or “CategoryID”.
Thanks Mike. I am able to see what you have done, and it works on this level in the grid (Category)
My problem now is that I am actually trying to implement this on the 2nd level of my grid, (Product's level in this example) and it does not seem to work. Is there a different syntax for this?
Please see my attached example where I tried to implement this, I moved the MyTestValue column to the second (Product) level and tried to do the same but no luck.
Thank you for the update. For both the behaviors you want to achieve you will want to check the column key before you run any operations, otherwise you will be performing them for every cell, which is part of the issues you are having. I have reworked the code to demonstrate how you can achieve these behaviors. Note that in the cell edit ending you are using ui.owner.grid which the “grid” part doesn’t exist.
Hey Mike,
Thanks for the sample, I have amended it with the functionality I am trying to implement, and it also does not work here. I am new to MVC so perhaps I am just doing something wrong. Please find attached my amended sample.
You'll see that I have added a column called "MyTestValue" to the Category level. When clicking in the cell, I would like to set the value to the CategoryID if it is empty. I added the grid function" iggridupdatingeditcellstarted" to the Scripts section, and tried to do that.
Without that function, I am able to click in to the next row, but with I am not able to - this is the error I now get: 0x800a138f - JavaScript runtime error: Unable to get property 'options' of undefined or null reference
Please note this is not the same as my original error, but it overall it behaves the same way.
Basically, I am trying to default a cell's value to another one in the row if it is empty (in the iggridupdatingeditcellstarted event), and not allow the value to exceed the other cell's value (in the iggridupdatingeditcellended event).
Any assistance in getting this to work will be appreciated.
Thanks