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

kinsensoft 2010-10-21 12:32:44
通过Describe("DataWindow.Data.HTML")获得的HTML语法里原有的dropdownlistbox,在浏览器里不能编辑,下拉列表也不弹出来,而设置成dropdowndatawindow倒是可以的,请高手指教!
...全文
386 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版本。
内容概要:本文系统研究了基于模型预测控制(MPC)滚动优化的微电网多时间尺度能量管理调度方法,提出了一种结合多时间尺度协调机制与MPC滚动优化框架的调度模型,旨在应对可再生能源出力波动性和负荷不确定性带来的运行挑战。研究详细构建了包含风光储等多种分布式能源的微电网系统架构,设定了以运行成本最小化、碳排放降低和系统稳定性提升为核心的多目标优化函数,并充分考虑设备运行约束、功率平衡约束及储能动态特性等关键因素。文中给出了完整的Python代码实现方案,涵盖模型搭建、优化求解与结果可视化全过程,支持读者复现、验证并进一步拓展算法。该方法有效提升了微电网在复杂运行环境下的经济性、可靠性和低碳化水平。; 适合人群:具备一定电力系统分析基础和Python编程能力,从事微电网、综合能源系统、智能配电网、优化调度等领域研究的研究生、科研人员及工程技术人员。; 使用场景及目标:① 掌握MPC在微电网能量管理中的建模思想与实现流程;② 复现并改进多时间尺度调度模型,服务于学术论文撰写或实际项目开发;③ 深入理解滚动优化、预测误差修正与多时间尺度协调控制的技术内涵与工程价值。; 阅读建议:建议读者结合所提供的Python代码逐模块学习,理解各时间尺度(如日前、日内、实时)之间的衔接逻辑,配合优化理论与电力系统运行知识进行深入分析,鼓励在仿真平台中调整参数、设置不同场景以测试模型鲁棒性,从而全面提升对先进能量管理系统的设计与应用能力。
内容概要:本文围绕基于模型预测控制(MPC)的波浪能转换器(WEC)系统展开研究,系统阐述了如何利用Matlab代码实现MPC算法在WEC中的建模与仿真全过程。研究基于WEC的动力学特性,构建了精确的预测控制模型,通过引入滚动优化机制与实时反馈校正,有效提升了波浪能捕获效率与系统响应性能。文中详细解析了MPC控制器的核心设计流程,涵盖状态空间建模、预测时域设定、代价函数构造、系统约束处理及优化求解等关键技术环节,并配套提供了完整的Matlab代码实现方案,具有较强的可复现性与工程参考价值。; 适合人群:具备自动控制理论基础和Matlab编程能力的研究生、科研人员,以及从事海洋可再生能源系统开发的工程技术人员。; 使用场景及目标:①应用于波浪能发电系统的控制器设计与动态性能优化;②为海洋能源领域中模型预测控制策略的研究提供典型案例与技术参考;③支持高等院校及科研机构开展新能源控制技术相关的教学演示与实验研究; 阅读建议:建议读者结合提供的Matlab代码逐模块分析算法实现逻辑,重点钻研系统建模方法与控制器参数整定策略,可尝试调整波浪激励信号频谱特性或引入不同物理约束条件,观察控制效果的变化,从而深入掌握MPC在复杂可再生能源系统中的实际应用技巧与优化思路。

663

社区成员

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

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