GridWeb validation issues



We evaluate your issue further.
Did you try the .aspx file, we’ve updated according to your requirements a bit. Using setTimeout is just to make the alert asynchronous. If you do not call it like this, it will block the user input. It does not have any relation with the server side function.


Maybe you should investigate a bit more… Because your workaround does not work at all.

On load, The A1 cell of this workbook is empty but it contains a list validation based on some cell values. When I typed “1 AAA” in this cell the OnCellErrorClientFunction handler displays the correct error message and seems to restore the cell value to the previous valid value (affected in the OnCellSelectedClientFunction handler). However, if I select another cell then go back to the A1 cell, cell value became “1 AAA” which is not a correct value according to the validation as if setInnerText(cell.children[0], lastselectvalue) does not write deeply the cell value.

Please consider this sample project (9.9 KB) and test the previous scenario…




Thanks for the sample project.

We will evaluate your sample project and get back to you soon.



Please check our test steps in the demo video attached, we think it is Ok. Could you capture a video and show us what steps you are performing to reproduce the issue. By the way, did you test our sample (.aspx and .cs files) we attached previously?
screen-recorder-1365-709_(new_7).zip (1.3 MB)


Did you test it on IE 11 ?



Please inform that are you able to test this scenario on browsers other than IE 11? We will proceed further once feedback is provided.


I’m not able to test this scenario on browsers other than IE 11. Because my web app was built to work only on IE 11… So could you please bring my a fix for this annoying issue ?



We found it uses extra data for IE, please use this sample code:
Sample code:

  function isie() {
            return (!!navigator.userAgent.match(/Trident\/7\./));

        function onCellError(cell) {
                setTimeout(function () {
                    alert("the input is invalid!");
                }, 1000);
                setInnerText(cell.children[0], lastselectvalue);
                if (isie()) { 
                    cell.myInnerText = lastselectvalue;