WebCombo的客户端对象模型

本文档详细介绍了如何通过客户端对象模型来操作 NetAdvantage 的 WebCombo 控件,包括获取控件实例、设置属性、触发事件及响应事件的方法。此外还提供了诸多实用示例代码。

在NetAdvantage 中那些控件都有客户端对象模型,对于UltraWebGrid等都是很容易就找到的,对于WebCombo不太好找,现在贴出来,可供参考,如果要对WebCombo中下拉的Grid进行客户端控制的话,可以使用getGrid()方法后得到Grid对象,这个对象其实就是UltraWebGrid的对象,其客户端模型可以参考UltraWebGrid的模型了。
NetAdvantage WebCombo的客户端对象模型如下:
The Combo Object of UltraWebCombo can be obtained within the page using the igcmbo_getComboById utility function.

var combo =igcmbo_getComboById('UltraWebCombo1');

The combo can also be referenced directly through the definition that is automatically generated for it. If the name of the combo on the server is 'UltraWebCombo1' then a variable called oUltraWebCombo1 will be available from anywhere within the page. The 'o' prefix is a convention used to indicate that the variable is an object as opposed to an HTML element. When a variable represents an HTML element, an 'e' is prefixed in front of it.

This topic also contains the following sections:

Properties

CancelPostback

Gets or sets a Boolean value that indicates whether postback should be cancelled when the next event occurs. If a postback is set to occur due to some other client-side activity, setting this property to True will prevent the postback from occurring. This property can be changed on the client.
var combo = igcmbo_getComboById('UltraWebCombo1');
combo.CancelPostBack = true;

DataTextField

Identifies the column key value used as the source of display text in the top portion of the WebCombo. This property corresponds to the property of the same name on the server. This property is read-only and should not be changed on the client.

DataValueField

Identifies the column key value used as the source of data values posted back to the server for WebCombo. This property corresponds to the property of the same name on the server. This property is read-only and should not be changed on the client.

Editable

Returns a Boolean value that indicates whether or not the WebCombo element is editable in the top portion of the element. If true, the user can enter their own values in the combo, if false they user is restricted to selecting values already present in the dropdown. This property corresponds to the property of the same name on the server. This property is read-only and should not be changed on the client.
var combo = igcmbo_getComboById('UltraWebCombo1');
var canBeEdited = combo.Editable;

Element

Returns the HTML element object corresponding to the WebCombo on the page. This property is read-only and should not be changed.
var element = igcmbo_getComboById('WebCombo1').Element; element.style.color = "red";

Events

See below for Events.

ExpandEffects

This property returns an object that contains the values set for the expand effects that will be supplied when WebCombo is dropped down. For more detail, see the ExpandEffects object topic. The ExpandEffects object contains the same properties as the server-side version. This object corresponds to the property of the same name on the server.
var expfx = igcmbo_getComboById('WebCombo1').ExpandEffects; expfx.Duration = 100;
expfx.Opacity = 70;

Id

Returns the HTML id property of the top-level WebCombo element on the page. This property is read-only and should not be changed.
var id = oUltraWebCombo1.Id;

NeedPostback

Gets or sets a Boolean value that indicates whether a postback should be initiated after the following event occurs. Set this property to True to force a manual postback to occur after the next event. This property can be changed on the client.
oWebCombo.NeedPostBack = true;

Methods

getDisplayValue()

Returns the current value of the top portion of the Webcombo element.

  • Parameters:
    None.

 

var value = oCombo.getDisplayValue();

 

getDropDown()

Returns a boolean value that indicates whether or not the WebCombo dropdown is currently displayed.

  • Parameters:
    None.

 

if(oCombo.getDropDown())
    return;
else
    oCombo.setDropDown(true);

 

getGrid()

Returns a reference to the oGrid object that manages the dropdown area of the WebCombo element. This object supports the entire object and programming model of the WebGrid element on the client.

  • Parameters:
    None.
var oGrid = oCombo.getGrid();
// Turn off sorting in the dropdown
oGrid.AllowSort = 2;

 

getSelectedIndex()

Returns the index offset of the currently selected row of the dropdown grid.

  • Parameters:
    None.

 

var index = oCombo.getSelectedIndex();

 

getVisible()

Returns a boolean value that indicates whether or not the WebCombo element is visible on the page.

  • Parameters:
    None.

 

var visible = oCombo.getVisible();
if(!visible)
    oCombo.setVisible(true);

 

setDisplayValue(newValue, bFireEvent)

Sets the value and the text in the top portion of the WebCombo element to the passed in newValue parameter. The second parameter, bFireEvent, is a boolean value that indicates whether BeforeSelectChange and AfterSelectChange events should be fired on the client.

  • Parameters:
    newValue - A string value that will be assigned to the element.
    bFireEvent - A Boolean value that specifies whether the BeforeSelectChange and AfterSelectChange client-side events should be fired. If true, the events will occur.

 

oCombo.setDisplayValue("John Doe", true);

 

setDropDown(bDrop)

This method controls the dropdown state of WebCombo. Passing true as a parameter causes the dropdown to display if it is not already displayed. Passing false causes the dropdown to dissappear if it is visible.

  • Parameters:
    bDrop - A Boolean value that specifies the dropped-down state of the element.

 

oCombo.setDropDown(true);

 

setVisible(bVisible)

Sets the visiblity of the WebCombo according to the passed-in Boolean value. If true, the WebCombo element is displayed at its current position. If false, the WebCombo element is hidden on the page.

  • Parameters:
    bVisible - A Boolean value that specifies the visibility of the WebCombo element.

 

oCombo.setVisible(false);

 

setWidth(width)

Sets the width of the WebCombo element in pixels.

  • Parameters:
    width - An integer value that specifies the width of the element.

 

oCombo.setWidth(150);

 

Events

The Events object contains over 25 members that are used to specify JavaScript function handlers that are called in response to a variety of events occurring on the client. The Event member is only populated with a valid JavaScript function if the function name is set from the Events object of the DisplayLayout object on the server. 

All events are called with at least one parameter: The ID of the WebCombo on which the event occurred. In the case of the EditKeyDown and EditKeyUp events, additional parameters are added which specify thecurrent or new value for the edit portion of the combo, and the keycode of the keystroke that caused the event.

The members of the Events object are:

  • AfterCloseUp(id)
  • AfterDropDown(id)
  • AfterSelectChange(id)
  • BeforeCloseUp(id)
  • BeforeDropDown(id)
  • BeforeSelectChange(id)
  • EditKeyDown(id, currentValue, keyCode)
  • EditKeyUp(id, newValue, keyCode)
  • InitializeCombo(id)
Delphi 12.3 作为一款面向 Windows 平台的集成开发环境,由 Embarcadero Technologies 负责其持续演进。该环境以 Object Pascal 语言为核心,并依托 Visual Component Library(VCL)框架,广泛应用于各类桌面软件、数据库系统及企业级解决方案的开发。在此生态中,Excel4Delphi 作为一个重要的社区开源项目,致力于搭建 Delphi 与 Microsoft Excel 之间的高效桥梁,使开发者能够在自研程序中直接调用 Excel 的文档处理、工作表管理、单元格操作及宏执行等功能。 该项目以库文件与组件包的形式提供,开发者将其集成至 Delphi 工程后,即可通过封装良好的接口实现对 Excel 的编程控制。具体功能涵盖创建与编辑工作簿、格式化单元格、批量导入导出数据,乃至执行内置公式与宏指令等高级操作。这一机制显著降低了在财务分析、报表自动生成、数据整理等场景中实现 Excel 功能集成的技术门槛,使开发者无需深入掌握 COM 编程或 Excel 底层 API 即可完成复杂任务。 使用 Excel4Delphi 需具备基础的 Delphi 编程知识,并对 Excel 对象模型有一定理解。实践中需注意不同 Excel 版本间的兼容性,并严格遵循项目文档进行环境配置与依赖部署。此外,操作过程中应遵循文件访问的最佳实践,例如确保目标文件未被独占锁定,并实施完整的异常处理机制,以防数据损毁或程序意外中断。 该项目的持续维护依赖于 Delphi 开发者社区的集体贡献,通过定期更新以适配新版开发环境与 Office 套件,并修复已发现的问题。对于需要深度融合 Excel 功能的 Delphi 应用而言,Excel4Delphi 提供了经过充分测试的可靠代码基础,使开发团队能更专注于业务逻辑与用户体验的优化,从而提升整体开发效率与软件质量。 资源来源于网络分享,仅用于学习交流使用,请勿用于商业,如有侵权请联系我删除!
评论 1
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值