Take the 2-minute tour ×

I am a seasoned PB developer, but primarily with the typical client-server architecture and am really having problems with a Web Forms application deployed to IIS7.5 using PB12.5 Classic.

I am creating an updateable dataobject (web service) that works perfectly in design mode, however when run from deployed IIS server, all of the columns I have set to a positive tab order (editable) , appear as if they have a tab order of zero. I cannot select a row, cannot get focus to a column, the only thing that does work are some buttons added to the dataobject (generic insert, and delete).

I have tried every possible option in the dataobject design under the Web Generation tab including, HTML/XHTML, HTML, XHTML, XML, etc. I have tried checking ALL the Javascript generation checkboxes (Generate JS, Client Events, Client Validation, Computed Fields, Client Formatting, Client Scriptable, Generate DDDW Frames but that has helped none.

I have tried all three Paging Methods, XMLClientSide, PostBack, Callback. Note that my paging is working fine. I just cannot make an editable column (with positive tab order) receive focus! This is normally a newbie mistake but something is different in the Web Forms deployment and I need help.

My dataobject type is tabular. Web Service update, and I've tried all the web service functions via dataobject preview. I'm running IIS 7.5 on the same computer. Have installed all the runtime DLL's. Have included the Sybase.PB.WebService.Runtime.dll, RuntimeRemoteLoader.dll, WSDL.dll, WSDLRemoteLoader.dll in the Win32 Dynamic library files in the project object. Have included the dataservice non-visual dll in the Win32 dynamic library files. I have the same problem with basic SQL datasource dataobjects.

I've included snippets from edit-source of my window that covers the main dataobject part of the HTML and the HTML for one row of the dataobject of the deployed web forms application in hopes there might be some identifying info:

First the dataobject part of source:

<div style="position: relative; height: 4.893in; width: 4.666in; background-color: rgb(255, 255, 255); " id="objdw_1_datawindow" bisinit="true" dwname="objdw_1" irowno="-1" icolno="-1" ibandid="-1" igroup="-1" iautoselect="0" gobname="datawindow">

Next one row's worth of source:

<span id="objdw_1_detail_18" class="objdw-111" style="position: absolute; left: 0in; top: 4.435in; width: 100%; height: 0.229in; " onclick="{if (eval ('typeof objdw_1') == 'object') objdw_1.itemClicked(18,-1,'datawindow',0,-1);}" onmousedown="{var ret; ret= objdw_1.itemRButtonDown(18,-1,'datawindow',0); return ret;}">
<input type="text" name="catname_18" id="objdw_1_18_3" size="18" value="Business" class="objdw-116" tabindex="137" style="position: absolute; left: 0.073in; top: 0.021in; width: 2.103in; height: 0.188in; " onfocus="{objdw_1.itemGainFocus(18,3,this,objdw_1.gobs.catname); objdw_1.selectControlContent(this);}" onclick="{var ret; ret= objdw_1.itemClicked(18,3,'catname',0,-1); return ret;}" onchange="{this.bChanged = true;}" onkeypress="return DW_EditKeyPressed(event, this, -1);" onblur="{objdw_1.itemLoseFocus (this);}" onmousedown="{var ret; ret= objdw_1.itemRButtonDown(18,3,'catname',0); return ret;}"/>
<input type="text" name="createdate_18" id="objdw_1_18_4" size="5" value="05/02/11" class="objdw-117" tabindex="-32766" style="position: absolute; left: 3.395in; top: 0.021in; width: 0.656in; height: 0.188in; " readonly="" onfocus="{objdw_1.itemGainFocus(18,4,this,objdw_1.gobs.createdate); objdw_1.selectControlContent(this);}" onclick="{var ret; ret= objdw_1.itemClicked(18,4,'createdate',0,-1); return ret;}" onchange="{this.bChanged = true;}" onblur="{objdw_1.itemLoseFocus (this);}" onmousedown="{var ret; ret= objdw_1.itemRButtonDown(18,4,'createdate',0); return ret;}"/>
<input type="button" name="b_1_18" value="x" class="objdw-118" style="position: absolute; left: 4.188in; top: 0.01in; width: 0.207in; height: 0.208in; " onclick="{objdw_1.buttonPress('DeleteRow',18,'b_1',0,-1); objdw_1.restoreFocus();}"/>
<input type="button" name="b_3_18" value="+" class="objdw-119" style="position: absolute; left: 4.459in; top: 0.01in; width: 0.207in; height: 0.208in; " onclick="{objdw_1.buttonPress('InsertRow',18,'b_3',0,-1); objdw_1.restoreFocus();}"/>

Has anyone else experienced this, and if so what was the solution? A question was asked about whether I've tried different browsers, and I have tried Chrome and IE.

Thank you very much.

Added on 11-11-12: I am adding some useful information after the fact based on comments and questions asked by members.

  1. Which browsers have I tried? I have tried IE (32 & 64 bit) Version 9.0.8112.16424, Chrome Version 23.0.1271.64 m and both did not allow editing of columns having tab order greater than zero.

  2. IE is supposed to be supported so I decided to try harder with this browser. I was testing on Windows 2008 R2 Server and apparently Microsoft automatically turns on Internet Explorer Enhanced Security on a Server for security reasons. The Enhanced Security makes the browser very annoying to use and must have disabled javascript which ended up making the Web Forms datawindow not function as I expected. I turned off the IE Enhanced Security by following these instructions, and viola the Web Forms Application worked!

Added July 2, 2013: There were comments asking if I looked at the generated Javascript/CSS/HTML and determine what is failing in non IE browsers, and I have to admit that I have not spent much time looking into why non-IE browsers are not working if anyone does figure this out please add a comment.

**Summary**: I hoped for a solution, however it looks like the real answer to this question is going to be that IE is the only supported browser. When Sybase says that non-IE browsers are not supported they really mean that non-IE browsers will probably not work.  
share|improve this question
No idea. Does the same thing happen in more than one web browser? –  Slapout Nov 2 '12 at 21:15
Good question. I've tried running on Chrome and IE and both do not allow columns with a positive tab order to be changed. –  DisplacedGuy Nov 3 '12 at 1:35
have you poked around in IE Dev or Chrome tools? there could be something in the CSS (class objdw-116, etc.) or the execution of the script handlers –  Jim O'Neil Nov 3 '12 at 16:50
It's strange. I setup a simple webform with an external datawindow. In IE 8, it let me edit the columns. However, I couldn't edit them in Firefox 16 or Chrome 22. –  Slapout Nov 5 '12 at 22:53
Okay, I noticed that if I disable Javascript in Firefox, it will let me edit the columns. So there's something about the Javascript that's getting generated. –  Slapout Nov 6 '12 at 15:50
show 1 more comment

1 Answer

up vote 2 down vote accepted

As it stated by Sybase in the Web forms FAQ, they did not focused much on cross-browser compatibility:

We are evaluating Firefox and Safari for multi-browser support. Menus was implemented with third-party menu webcontrol that renders menu items as hyperlinks.

It is likely that many other functionalities will have a wrong behavior with other browsers than IE :(

share|improve this answer
THANK YOU: I was hoping for a more clear-cut answer but I believe this answer is essentially correct and the reason why my Web Forms Application wasn't functioning correctly. I've added an update to the original question with information about how I got IE to work. Appreciate help (via comments) by others especially Slapout, and would have liked to award some of the bounty to him. If you feel his comments were useful and are in line with this answer please up-vote them so he is rewarded for his time & effort in helping solving this. –  DisplacedGuy Nov 11 '12 at 21:03
add comment

Your Answer


