User Profile & Activity

Lori Neville Member

Try changing the name of the function (I actually named it GridOnEndRowEditing) just so it's clear you aren't trying to call a built in Intersoft function and also make sure that the javacript file where the function is defined is included in the page the grid is on.  In Chrome's dev tools throw a breakpoint into the function and see if it is hitting it after you filter.  If it is, step through and see where it might be failing.

Probably if anyone is still around at Intersoft.  I've asked questions in chat and email for a few issues over the last few months and haven't heard anything.  They no longer answer forum questions and they haven't put any hotfixes out in a while either.  I've resorted to asking a reseller if they know anything but haven't heard back. 

That being said I was able to correct the filter (and the tables cells and add new row because we were having problems there too) by using the Client Side Event OnEndRowEditing.  Here is what I did.  It's not pretty but it works.

 function OnEndRowEditing(controlId, row) {
    var row_cells = row.GetCells();
    for (var i = 0; i < row_cells.length; i++) {
        var row_cell = row_cells[i];
        if (!row_cell) {
            continue
        } else {
            var row_cell_value = row_cell.Get("Value");
            if (row_cell.DataChanged == true && row_cell_value.length > 0) {
                if (row_cell_value.substring(row_cell_value.length - 1) == "\t") {
                    row_cell.SetValue(row_cell_value.substring(0, row_cell_value.length -1), true);
                }
            }
            var row_cell_text = row_cell.Get("Text");
            if (row_cell.DataChanged == true && row_cell_text.length > 0) {
                if (row_cell_text.substring(row_cell_text.length - 1) == "\t") {
                    row_cell.SetText(row_cell_text.substring(0, row_cell_text.length - 1), true);
                }
            }
        }
    }

    return true;
}

 

Do you have this in your web.config?

<add key="ISNet.WebUI.WebGrid.v10_0_7200.EnableWebResources" value="Never"/>

As I stated previously, the value can be set to "Never" as shown in the example which doesn't use any of the Resource files or to ResourceOnly which only uses SmartWebResources for images, styles, xml files.

Otherwise I'm honestly not sure. All I can tell you is to right click on the image and click inspect element in IE or inspect in Chrome and see what the src of the image is.  Then make sure that the image exists in that path.

Just a disclaimer - I don't work for intersoft and I am by no means an expert.  My knowledge is limited to the pieces of information that I've researched to exhaustion and it is still spotty.

You can't modify the dll.  If you wish to use the script files, you will need to disable SmartWebResources by setting EnableWebResources to ResourceOnly (uses the SmartWebResources for images, styles, xml files etc but not for Script files) or Never (which doesn't use SmartWebResources).  EnableWebResources be can set globally in web.config or individually on each webgrid control.  You will need to also set the path of the ScriptDirectory, SharedScriptDirectory, ImagesDirectory and WebDesktopScriptDIrectory.  Finally, the Common Library folder that the script files are in will need to be configured as an application in IIS.

What's happening is that a tab is being added to the innerText of the cell element.  Believe it or not, innerText functionality was not working according to standards in previous versions of Chrome.  As part of Chrome's latest release, they fixed it to adhere to these standards.  Here is the link to the standard: innerText functionality.  If you look at number 6, it explains the standard for table cells.  As far as a fix for this and functionality of the webgrid, I'm still workng on that.  I've tried stripping the tab and then setting the innerText to the stripped value but it always gets added back.  So far the only thing that I can do is strip the value before the code retrieves the data from the database. 

All times are GMT -5. The time now is 9:37 PM.
Previous Next