通过Describe("DataWindow.Data.HTML")获得的HTML语法

kinsensoft 2010-10-21 12:32:44
通过Describe("DataWindow.Data.HTML")获得的HTML语法里原有的dropdownlistbox,在浏览器里不能编辑,下拉列表也不弹出来,而设置成dropdowndatawindow倒是可以的,请高手指教!
...全文
385 8 打赏 收藏 转发到动态 举报
写回复
用AI写文章
8 条回复
切换为时间正序
请发表友善的回复…
发表回复
kinsensoft 2010-10-29
  • 打赏
  • 举报
回复
那就怪了,我的就是死活不能下拉,楼主的PB11.5版本是哪个,我的是11.5.1 build 4788
xiaobn_cn 2010-10-29
  • 打赏
  • 举报
回复
在1楼我说过了,我的PB不是11.5,而是11.2。
xiaobn_cn 2010-10-25
  • 打赏
  • 举报
回复
我测试了DataWindow对象的web_datawindow勾选上的情况,下拉列表有内容.使用的环境与1楼相同,使用的数据窗口也是1楼的数据窗口,只是加选了web datawindow选项。得到的HTML大小是86K,我就不往上贴了。下拉控件部分的HTML如下:

<TR>
<TD><SELECT NAME="a_0" onFocus="{htmldw.itemGainFocus(0,1,this,htmldw.gobs.a);}" onClick="{var ret; ret= htmldw.itemClicked(0,1,'a',0,-1); return ret;}" onChange="{this.bChanged = true;htmldw.AcceptText();}" onBlur="{htmldw.itemLoseFocus (this);}"><OPTION VALUE="1">AAAAA
<OPTION VALUE="2">BBBBB
<OPTION VALUE="3">CCCCC
<OPTION VALUE="4">DDDDD
<OPTION VALUE="" SELECTED>
</SELECT></TD>
</TR>

kinsensoft 2010-10-23
  • 打赏
  • 举报
回复
datawindow对象的web datawindow 是勾选上的
kinsensoft 2010-10-22
  • 打赏
  • 举报
回复
承上
<FORM NAME="dw_customerdetail_dataForm" METHOD="" ACTION="" onSubmit="{return false;}">
<SPAN ID="dw_customerdetail_detail_0" CLASS=dw-customerdetail2CE3 STYLE="position:absolute; left:0.000in; top:0.000in; width:100%; height:0.604in" onClick="{if (eval ('typeof dw_customerdetail') == 'object') dw_customerdetail.itemClicked(0,-1,'datawindow',0,-1);}" > <SPAN CLASS=dw-customerdetail2CE4 STYLE="position:absolute; left:0.084in; top:0.010in; width:0.948in; height:0.135in" onClick="{if (eval ('typeof dw_customerdetail') == 'object') return dw_customerdetail.itemClicked(0,-1,'id_t',0,-1);}" >Customer ID:</SPAN>
<INPUT TYPE="text" NAME="id_0" SIZE=33 VALUE="175" CLASS=dw-customerdetail2CE5 TABINDEX=-32766 STYLE="position:absolute; left:1.052in; top:0.000in; width:2.209in; height:0.198in" READONLY onFocus="{dw_customerdetail.itemGainFocus(0,1,this,dw_customerdetail.gobs.id); dw_customerdetail.selectControlContent(this);}" onClick="{var ret; ret= dw_customerdetail.itemClicked(0,1,'id',0,-1); return ret;}" onChange="{this.bChanged = true;}" onkeypress="return DW_EditKeyPressed(event, this, -1);" onBlur="{dw_customerdetail.itemLoseFocus (this);}">
<SPAN CLASS=dw-customerdetail2CE4 STYLE="position:absolute; left:0.062in; top:0.323in; width:0.948in; height:0.135in" onClick="{if (eval ('typeof dw_customerdetail') == 'object') return dw_customerdetail.itemClicked(0,-1,'state_t',0,-1);}" >State:</SPAN>

<INPUT TYPE="text" NAME="state_0" ID="dw_customerdetail_0_2" VALUE="BC" READONLY CLASS=dw-customerdetail2CE7 TABINDEX=1 STYLE="position:absolute; left:1.032in; top:0.312in; width:2.209in; height:0.198in" onFocus="{dw_customerdetail.itemGainFocus(0,2,this,dw_customerdetail.gobs.state);}" onClick="{var ret; ret= dw_customerdetail.itemClicked(0,2,'state',0,-1); return ret;}" onChange="{this.bChanged = true;dw_customerdetail.AcceptText();}" onBlur="{dw_customerdetail.itemLoseFocus (this);}"><DIV CLASS=dw-customerdetail2CE8 STYLE="position:absolute; left:3.031in; top:0.342in; width:0.180in; height:0.138in" style="display: table;border:0px;overflow: hidden;background-color:#D4D0C8;" >
<DIV style=" #position: absolute; top: 50%; border:1px grey;left:50%;display: table-cell; vertical-align: middle;" >
<IMG SRC="images/scr_down.png" style="#position: relative; #top: -50%; #left:-50%;size:original;overflow: hidden;" ></DIV>
</DIV>
<IMG SRC="images/dddw1.gif" STYLE="position:absolute; left:3.031in; top:0.342in; width:0.180in; height:0.138in" NAME="state_0_dArrow" onFocus="{dw_customerdetail.itemGainFocus(0,2,this,dw_customerdetail.gobs.state);}" onClick="{var ret; ret= dw_customerdetail.itemClicked(0,2,'state',0,-1); return ret;}" onChange="{this.bChanged = true;dw_customerdetail.AcceptText();}" onBlur="{dw_customerdetail.itemLoseFocus (this);}" DDDWID="dw_customerdetail_0_2" >
</SPAN><SPAN ID="dw_customerdetail_footer" CLASS=dw-customerdetail2CE3 STYLE="position:absolute; left:0.000in; top:0.604in; width:100%; height:0.521in" onClick="{if (eval ('typeof dw_customerdetail') == 'object') dw_customerdetail.itemClicked(0,-1,'datawindow',2,-1);}" > <INPUT TYPE="button" NAME="b_update" VALUE="Save" CLASS=dw-customerdetail2CEC STYLE="position:absolute; left:0.023in; top:0.104in; width:0.843in; height:0.313in" onClick="{dw_customerdetail.buttonPress('Update',0,'b_update',2,-1); dw_customerdetail.restoreFocus();}">
<INPUT TYPE="button" NAME="b_retrieve" VALUE="Retrieve" CLASS=dw-customerdetail2CEC STYLE="position:absolute; left:0.889in; top:0.104in; width:0.843in; height:0.313in" onClick="{dw_customerdetail.buttonPress('Retrieve',0,'b_retrieve',2,-1); dw_customerdetail.restoreFocus();}">
</SPAN></FORM>
</DIV>
<SCRIPT LANGUAGE="JavaScript">
<!--

dw_customerdetail.submitForm = document.dw_customerdetail_submitForm;
dw_customerdetail.contextField = document.dw_customerdetail_submitForm.dw_customerdetail_context;
dw_customerdetail.actionField = document.dw_customerdetail_submitForm.dw_customerdetail_action;

dw_customerdetail.firstRow = 0;
dw_customerdetail.lastRow = 1 - 1;
dw_customerdetail.bSingleRow = (dw_customerdetail.firstRow == dw_customerdetail.lastRow);
dw_customerdetail.dataForm = document.dw_customerdetail_dataForm;
-->
</SCRIPT>

<iframe src="javascript:false;" id="dw_customerdetail_state_frame" marginheight="0" marginwidth="0" noresize frameborder="0" scrolling="no" style="position:absolute;display:none;"></iframe>
<div id="dw_customerdetail_state_dddw" selected="0" style="position:absolute;display:none;width:2.179in;height:0.828in;z-index:32767;border:1px solid black;overflow:auto;background-color:#a6caf0;" onFocus="{if(dw_customerdetail.gobs==null)return;dw_customerdetail.itemGainFocus(this.row,this.col,this.textbox,dw_customerdetail.gobs.state); dw_customerdetail.scrollDDDW(this,'dw_customerdetail_state');}" onBlur="{if(!this.contains(document.elementFromPoint(window.event.clientX, window.event.clientY))) dw_customerdetail.setDDDWVisible('state',false);}">
<script language="JavaScript">

// Dropdown DataWindow
if (dw_customerdetail.gobs.state != null)
{
dw_customerdetail.gobs.state.dddw_selectedRowElement = null;
dw_customerdetail.gobs.state.dddw_bgColors = new Array(); // original background color of each column in selected DDDW row
dw_customerdetail.gobs.state.dddw_txtColors = new Array(); // original text color of each column in selected DDDW row
}

function dw_customerdetail_state_itemClicked(row)
{
dw_customerdetail.setDDDWItem("state","dw_customerdetail_state",row,dw_customerdetail.state_options);
}

function dw_customerdetail_state_inputKeyDown()
{
var control = dw_customerdetail.findControl("state", dw_customerdetail.currRow, true);
if (control != null)
control.onkeydown();
}

function dw_customerdetail_state_dummy()
{
}


function DDDW_DataWindowClass_dw_customerdetail_state(name)
{
this.name = name;
this.itemClicked = dw_customerdetail_state_itemClicked;
this.itemDoubleClicked = dw_customerdetail_state_dummy;
this.itemRButtonDown = dw_customerdetail_state_dummy;
}

// create our DDDW control object
var dw_customerdetail_state = null;
dw_customerdetail_state = new DDDW_DataWindowClass_dw_customerdetail_state("dw_customerdetail_state");
dw_customerdetail_state.rowCount = 5;

</script>
<STYLE ID="dw_customerdetail_stylesheet" TYPE="text/css">
<!--
.dw-customerdetail2CE7{;background-color:#ffffff;COLOR:#000000;FONT:8pt "MS Sans Serif", sans-serif;FONT-STYLE:normal;FONT-WEIGHT:normal;TEXT-DECORATION:none;TEXT-ALIGN:left;BORDER-STYLE:inset;BORDER-WIDTH:thin}
-->
</STYLE>

<TABLE CLASS=dw-customerdetail2CE7 STYLE="position:relative; left:0.000in; top:0.000in; width:2.179in; height:0.138in">
<TR><TD NOWRAP id="dw_customerdetail_state_detail_0">Arizona</TD></TR><TR><TD NOWRAP id="dw_customerdetail_state_detail_1">Alberta</TD></TR><TR><TD NOWRAP id="dw_customerdetail_state_detail_2">Alaska</TD></TR><TR><TD NOWRAP id="dw_customerdetail_state_detail_3">Alabama</TD></TR><TR><TD NOWRAP id="dw_customerdetail_state_detail_4">Arkansas</TD></TR></TABLE>
</div>

kinsensoft 2010-10-22
  • 打赏
  • 举报
回复
我获得语法是这样的,其中state列为dropdownlistbox,pb11.5
<STYLE ID="dw_customerdetail_stylesheet" TYPE="text/css">
<!--
.dw-customerdetail2CE3{;background-color:transparent;OVERFLOW:hidden}
.dw-customerdetail2CE4{;background-color:transparent;OVERFLOW:hidden;COLOR:#000000;FONT:8pt "MS Sans Serif", sans-serif;FONT-STYLE:normal;FONT-WEIGHT:bold;TEXT-DECORATION:none;TEXT-ALIGN:right;WORD-BREAK:break-all;BORDER-STYLE:none}
.dw-customerdetail2CE5{;background-color:#ffffff;COLOR:#000000;FONT:8pt "MS Sans Serif", sans-serif;FONT-STYLE:normal;FONT-WEIGHT:normal;TEXT-DECORATION:none;TEXT-ALIGN:right;BORDER-STYLE:inset;BORDER-WIDTH:thin}
.dw-customerdetail2CE7{;background-color:#ffffff;COLOR:#000000;FONT:8pt "MS Sans Serif", sans-serif;FONT-STYLE:normal;FONT-WEIGHT:normal;TEXT-DECORATION:none;TEXT-ALIGN:left;BORDER-STYLE:inset;BORDER-WIDTH:thin}
.dw-customerdetail2CE8{;background-color:#000000}
.dw-customerdetail2CEC{;COLOR:#000000;FONT:8pt "Tahoma", sans-serif;FONT-STYLE:normal;FONT-WEIGHT:normal;TEXT-DECORATION:none;TEXT-ALIGN:center}
-->
</STYLE>

<SCRIPT LANGUAGE="JavaScript" SRC="/learning/scripts/dwcommon.js">
<!--
-->
</SCRIPT>
<SCRIPT LANGUAGE="JavaScript">
<!--

// create our control object
var dw_customerdetail = null;
dw_customerdetail = new HTDW_DataWindowClass("dw_customerdetail");


// save state for scripting functions
dw_customerdetail.rowCount = 1;
dw_customerdetail.deletedCount = 0;
dw_customerdetail.filteredCount = 0;
dw_customerdetail.modifiedCount = 0;
dw_customerdetail.sortString = "?";
dw_customerdetail.bStylePositioning = true;
dw_customerdetail.b4GLWeb = false;
dw_customerdetail.rowsPerDetail = 1;
dw_customerdetail.pagingMode = DW_PAGING_POSTBACK;
dw_customerdetail.bHasRowFocusIndicator = false;
dw_customerdetail.selectedRowColor = "#316ac5";
dw_customerdetail.bSelectNodeByMouse = false;
dw_customerdetail.oPBNETData = null;dw_customerdetail.bSubmitted = false;
dw_customerdetail.processing = 0;
dw_customerdetail.renderFormat = 0;
dw_customerdetail.printPreview = false;

dw_customerdetail.context = "(dw_customerdetail 0)(11489 )";

var DW_shortDateFormat = "yyyy-M-d";
var DW_longDateFormat = "yyyy'年'M'月'd'日'";
var DW_timeFormat = "hh:mm:ss";

var DW_posCurrencyFormat = "¥#,##0.00";
var DW_negCurrencyFormat = "¥-#,##0.00";
var DW_decimalChar = ".";
var DW_thousandsChar = ",";
-->
</SCRIPT>
<SCRIPT LANGUAGE="JavaScript" SRC="/learning/scripts/dwstring.js">
<!--
-->
</SCRIPT>
<SCRIPT LANGUAGE="JavaScript">
<!--
-->
</SCRIPT>
<SCRIPT LANGUAGE="JavaScript" SRC="/learning/scripts/dwnumber.js">
<!--
-->
</SCRIPT>
<SCRIPT LANGUAGE="JavaScript">
<!--
dw_customerdetail.cols[1] = new HTDW_ColumnClass(1, 'id',DW_IntParse,DW_IsNumber,null,null,null,'id');
dw_customerdetail.gobs.id = new HTDW_ColumnGob('id',1, 0, 0, false, false, false, false, DW_FormatNumber, "[general]", null, dw_customerdetail.cols[1]);
dw_customerdetail.cols[1].addDepend(new HTDW_DependColumn(dw_customerdetail.gobs.id));
dw_customerdetail.cols[2] = new HTDW_ColumnClass(2, 'state',DW_StringParse,DW_IsString,null,null,null,'state');
dw_customerdetail.gobs.state = new HTDW_ColumnGob('state',2, 0, 0, false, false, false, false, DW_FormatString, null, null, dw_customerdetail.cols[2]);
dw_customerdetail.cols[2].addDepend(new HTDW_DependColumn(dw_customerdetail.gobs.state));
dw_customerdetail.rows[0] = new HTDW_RowClass( "((1 0 '175'))",0,175,"BC");
dw_customerdetail.rowInfos[0] = new HTDW_RowInfoClass(dw_customerdetail.rows[0][0].rowId,1);
dw_customerdetail.state_options = [ ["Arizona","AB"], ["Alberta","AK"], ["Alaska","AL"], ["Alabama","AR"], ["Arkansas","AZ"] ];
-->
</SCRIPT>
<DIV STYLE="position:relative; height:1.125in; width:3.261in;background-color:#a6caf0" ID="dw_customerdetail_datawindow" >
<FORM NAME="dw_customerdetail_submitForm" METHOD="POST" ACTION="/learning/customerdetail.aspx?id=175">
<INPUT TYPE="hidden" NAME="id" VALUE="175">
<INPUT TYPE="hidden" NAME="dw_customerdetail_action" VALUE="none">
<INPUT TYPE="hidden" NAME="dw_customerdetail_context" VALUE="">
</FORM>
xiaobn_cn 2010-10-22
  • 打赏
  • 举报
回复
我测试没问题,不能编辑,但是下拉列表能弹出来。我只是做了个简单的数据窗口实验,PB版本11.2,数据窗口为外部数据源,只有1个列A,编辑方式DropDownListBox,下拉内容是A ~t1/B~t2/C~t3/,生成的HTML如下:

<TABLE BORDER=1 WIDTH=66>

<TR><TD WIDTH=66></TR>
<TR>
<TH>A</TH>
</TR>
<TR>
<TD><SELECT NAME="a_0" ><OPTION VALUE="1">A
<OPTION VALUE="2">B
<OPTION VALUE="3">C
<OPTION VALUE="" SELECTED>
</SELECT></TD>
</TR>
</TABLE>

请检查你的代码或者PB版本。
内容概要:本文围绕不确定环境下的多式联运路径优化问题展开研究,提出并实现了基于AFO算法、遗传算法(GA)和粒子群优化算法(PSO)的三种智能优化方法,并借助Matlab平台完成算法编程与仿真。研究构建了考虑时间、成本、转运风险等多重不确定因素的路径优化模型,系统比较了AFO、GA、PSO三种算法在收敛速度、全局寻优能力和稳定性方面的表现,同时引入Matlab自带的全局优化搜索器作为基准对照,深入分析各算法在复杂物流网络中的适用边界与性能差异。研究表明,AFO算法在解决此类组合优化问题时展现出更快的收敛效率和更强的局部规避能力。; 适合人群:具备一定Matlab编程基础与运筹优化知识,从事物流工程、交通运输规划、智能算法开发等相关领域的研究生、科研人员及工程技术人员。; 使用场景及目标:①应用于多式联运、综合货运网络中的路径决策支持系统构建;②为不确定性条件下复杂路径规划问题提供智能算法选型依据与技术实现方案;③支持科研人员复现主流优化算法并开展横向性能对比实验,推动算法改进与实际落地。; 阅读建议:建议读者结合提供的Matlab代码逐模块分析算法实现流程,重点理解目标函数设计、约束条件处理及参数敏感性分析部分,可通过调整问题规模与算法参数进行对比实验,进一步拓展至动态路径规划或大规模网络优化等延伸场景。

663

社区成员

发帖
与我相关
我的任务
社区描述
PowerBuilder Web 应用
社区管理员
  • Web 应用社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧