PowerBuilder 12.5 Web窗体-部署时列不可编辑或选项卡顺序丢失 [英] PowerBuilder 12.5 Web Forms - Columns Not Editable or Lost Tab Order upon Deploy

查看:174
本文介绍了PowerBuilder 12.5 Web窗体-部署时列不可编辑或选项卡顺序丢失的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我是一位经验丰富的PB开发人员,但主要使用典型的客户端-服务器体系结构,并且确实遇到了使用 Web窗体应用程序部署到 IIS7.5 的问题。 strong> PB12.5经典版。

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.

我正在创建一个可更新的数据对象(Web服务),该对象在设计模式下可以正常运行,但是从已部署的IIS服务器运行时,我设置为正的制表符顺序(可编辑)的所有列似乎都具有制表符顺序为零。我无法选择行,无法将焦点聚焦于列,唯一起作用的是向数据对象添加了一些按钮(通用插入和删除)。

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已尝试在Web生成选项卡下的dataobject设计中尝试所有可能的选项,包括HTML / XHTML,HTML,XHTML,XML等。我尝试选中所有Javascript生成复选框(生成JS,客户端事件,客户端验证,计算字段,

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.

我已经尝试了所有三种分页方法,即XMLClientSide,PostBack,Callback。请注意,我的分页正在工作好的,我只是无法使可编辑的列(带有正的Tab键顺序)获得焦点!这通常是一个新手错误,但是Web Forms部署中有所不同,我需要帮助。

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.

我的dataobject类型是表格形式的Web服务更新,并且我已经通过dataobject Preview尝试了所有的Web服务功能。我正在IIS 7.5上运行同一台计算机。已安装所有运行时DLL。在项目对象的Win32动态库文件中已包含Sybase.PB.WebService.Runtime.dll,RuntimeRemoteLoader.dll,WSDL.dll,WSDLRemoteLoader.dll。 Win32动态库文件中包含了dataservice非可视dll。我对基本的SQL数据源数据对象也有同样的问题。

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.

我已经从窗口的edit-source中包含了一些片段,这些片段涵盖了HTML和HTML的主要dataobject部分。对于已部署的Web窗体应用程序的数据对象的一个行,希望可能会有一些识别信息:

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:

首先是dataobject部分来源:

<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">

下一行的来源价值:

<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();}"/>

其他人是否遇到过这种情况,如果可以,解决方案是什么?有人问我是否尝试过不同的浏览器,以及是否尝试过Chrome和IE。

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.

非常感谢。

添加于12-11-11:根据事实和成员提出的问题,我在事实之后添加了一些有用的信息。

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


  1. 我尝试过哪种浏览器?我已经尝试了IE(32和64位)版本9.0.8112.16424,Chrome版本23.0.1271.64 m,并且都不允许编辑制表符顺序大于零的列。

  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.

应该支持IE,因此我决定尝试使用此浏览器。我在Windows 2008 R2 Server上进行了测试,显然出于安全原因,Microsoft会自动在服务器上打开Internet Explorer增强的安全性。增强的安全性使浏览器非常烦人,并且必须禁用javascript,这最终导致Web Forms数据窗口无法按我预期的方式运行。我通过遵循这些说明,并且Web窗体应用程序viola起作用了!

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!

添加于2013年7月2日:有些评论询问我是否查看了生成的Javascript / CSS / HTML并确定在非IE浏览器中失败的原因,我必须承认,我没有花太多时间研究为什么非IE浏览器无法正常工作,如果有人发现了这一点,请添加评论。

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.  


推荐答案

Sybase在 Web表单常见问题解答,他们没有过多关注跨浏览器的兼容性:

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


我们正在评估Firefox和Safari对多浏览器的支持。菜单是通过第三方菜单Web控件实现的,该菜单控件将菜单项呈现为超链接。

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

很可能许多其他功能都有错误IE以外的其他浏览器的行为:(

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

这篇关于PowerBuilder 12.5 Web窗体-部署时列不可编辑或选项卡顺序丢失的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆