【问题标题】:Delphi 7 - TMS Intraweb DB-aware Grid ComboBoxDelphi 7 - TMS Intraweb DB-aware Grid ComboBox
【发布时间】:2011-06-02 08:06:49
【问题描述】:

我有一个使用 TTIWDBAdvWebGrid 组件的 Intraweb 应用程序。网格的两列是组合框(编辑器设置为edCombo)-看下图

我想要的是,当其中一个组合框更改时,另一个将其值更改为相反(如果第一个是 YES,那么另一个是 NO)。

我在 ClientEvents-combochange 尝试过使用 javascript 代码

valcb=GetEditValue(IWDBGESTANTObj,c,r);
if (c==5 )
{
if (valcb='OUI ') {SetCellValue(IWDBGESTANTObj,6,r,'NON'); }
else {SetCellValue(IWDBGESTANTObj,6,r,'OUI');}
} 

但是这段代码将第二个组合的值更改为空......

我该如何解决这个问题?

【问题讨论】:

  • 可能没什么,但在您的代码提取中,第一个字符串比较似乎在字符串中至少有一个尾随空格 -- if (vaclb='OUI ')。至少我会使用常量值而不是重复字符串文字。
  • @Stuart - 非常好的评论。谢谢
  • 我会接受我自己的答案,直到给出另一个/更好的答案

标签: javascript delphi combobox intraweb tms


【解决方案1】:

使用以下javascript代码解决:

if (c==5)
 {wId = "G0D" + r + "C" + (c + 1);}
else
 {wId = "G0D" + r + "C" + (c - 1);} 
myCombo = document.getElementById( wId);
if (ctrl.selectedIndex==0) 
{ wInd=1;}
else
{wInd=0;}
myCombo.options[wInd].selected=true;

Intraweb 通过连接以下元素为每个组合生成 id "GOD" + row_number + "C" + column_number

此代码必须在 ClientEvents-ComboChange 属性上设置

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2012-05-17
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多