none
LightSwitch HTML Table Data not displaying in Internet Explorer 9

    Question

  • A strange issue started from this morning. I have an existing LS HTML project using both tables and tiles on different screens, I use IE9 on my dev machine and everything worked fine yesterday, today however the screen using a table does not show any data just the screen, when I test it in IE10 the data is displayed. This only seems to affect screens where I am using tables.

    First Image is IE10, second is IE9

    Any idea what could be going on here, I have tried several computers and I get the same result ?

    Wednesday, October 16, 2013 9:15 AM

Answers

  • Hi Nicholas,

    This bug has been fixed and should make it into the product in next release. Meanwhile, you can use this workaround to make HTML Client Table data visible in Internet Explorer 9.

    1. Open <ApplicationName>.HTMLClient -> Scripts -> msls-2.0.0.js file

    2. On line number 20570, replace view[0].innerHTML = columnTexts.join(""); with view.html(columnTexts.join(""));. Following piece of code shows the exact line that has to be replaced.

            view.addClass("msls-table-row");
    
            columnTexts = [];
            for (i = 0, len = itemsSource.length; i < len; i++) {
                columnTexts.push("<td class='msls-column' role='gridcell'");
                columnTexts.push("></td>");
            }
    
            view.html(columnTexts.join(""));
    
            i = 0;
            column = view[0].firstChild;
            while (column) {
                msls_createPresenterTemplate($(column), itemsSource[i], templateData[i] = {});
                i++;
                column = column.nextSibling;
            }

    3. Open default.htm file under <ApplicationName>.HTMLClient node

    4. Replace <script type="text/javascript" src="Scripts/msls-2.0.0.min.js"></script> with <script type="text/javascript" src="Scripts/msls-2.0.0.js"></script>

    Thanks

    Rohit


    Wednesday, October 23, 2013 11:57 PM

All replies

  • I'm more than a little concerned by the fact that this problem has occurred, number one, this is a project published to Azure, I made no modifications to the project and suddenly it doesn't work on an entire Microsoft browser version and no-one cares.

    Applications for business that bring your business to a grinding halt!?

    Friday, October 18, 2013 6:46 AM
  • I took the time to change the screen from Table to Tile layout and the data displays in IE9 now, why is Lightswitch HTML Table data not displaying in IE9 ?


    Friday, October 18, 2013 7:20 AM
  • Hi Nicholas,

    Thank you for the post. I have reported this as a bug. You can also raise your voice by creating a request on UserVoice http://connect.microsoft.com/lightswitch which we regularly review for suggestions.

    Thanks

    Rohit

    Friday, October 18, 2013 5:22 PM
  • Hi Rohit

    What is the status of this bug, where can I see that it has been logged and follow it's hopeful resolution ?

    I have had to remove all use of HTML tables in my projects as a result of this.

    Wednesday, October 23, 2013 8:51 AM
  • Nichoals - please create a separate issue on the Connect link that Rohit mentioned above.

    Also, would you be able to try this with an IE10 browser at all? (The issue should not reproduce in IE10).

    Thanks - Matt Sampson


    R. Matt Sampson

    Wednesday, October 23, 2013 6:39 PM
  • Hi Nicholas,

    This bug has been fixed and should make it into the product in next release. Meanwhile, you can use this workaround to make HTML Client Table data visible in Internet Explorer 9.

    1. Open <ApplicationName>.HTMLClient -> Scripts -> msls-2.0.0.js file

    2. On line number 20570, replace view[0].innerHTML = columnTexts.join(""); with view.html(columnTexts.join(""));. Following piece of code shows the exact line that has to be replaced.

            view.addClass("msls-table-row");
    
            columnTexts = [];
            for (i = 0, len = itemsSource.length; i < len; i++) {
                columnTexts.push("<td class='msls-column' role='gridcell'");
                columnTexts.push("></td>");
            }
    
            view.html(columnTexts.join(""));
    
            i = 0;
            column = view[0].firstChild;
            while (column) {
                msls_createPresenterTemplate($(column), itemsSource[i], templateData[i] = {});
                i++;
                column = column.nextSibling;
            }

    3. Open default.htm file under <ApplicationName>.HTMLClient node

    4. Replace <script type="text/javascript" src="Scripts/msls-2.0.0.min.js"></script> with <script type="text/javascript" src="Scripts/msls-2.0.0.js"></script>

    Thanks

    Rohit


    Wednesday, October 23, 2013 11:57 PM
  • Hi Matt

    As per the first line in my post, IE10 works fine.

    Thanks

    Thursday, October 24, 2013 5:35 AM
  • Hi Rohit

    Noted thanks, I look forward to the next release.

    Thursday, October 24, 2013 5:36 AM