赛龙周 发表于 2024-2-21 07:42:07

请教大佬们:如何通过javascript命令给组件的事件参数赋值?

请教大佬们:如何通过javascript命令给组件的事件参数赋值?


我测试在组件内用Forguncy.Page.getCellByLocation({}).setValue()赋值时,在页面创建多个组件实例时,该方法只能返回到一个实例上。


这是BUG,还是逻辑就这么设计的

Grayson.Shang 发表于 2024-2-21 07:42:08

本帖最后由 Grayson.Shang 于 2024-2-21 15:03 编辑

大佬您好,您看一下这个是不是您想要的效果,在一个页面上三个一样的组件容器


在触发的之后,各自触发自己


因为这个使用到JS,我就不过多讲了,附上demo,JS在页面1的页面加载命令中


逛逛逛 发表于 2024-2-21 08:16:00

https://help.grapecity.com.cn/download/thumbnails/72366016/blue%20block.png?version=1&modificationDate=1648092739000&api=v2 方法   Page.getCellByLocation(cellLocation)https://help.grapecity.com.cn/download/thumbnails/72366016/blue%20block.png?version=1&modificationDate=1648092739000&api=v2 描述   通过单元格的位置信息获取一个单元格对象。
我理解为:一个页面的某个单元格位置是唯一的。是只能修改一个值。

赛龙周 发表于 2024-2-21 08:51:12

组件实例在页面可以理解为一个子页面吗

robert 发表于 2024-2-21 09:12:56

赛龙周 发表于 2024-2-21 08:51
组件实例在页面可以理解为一个子页面吗

和子页面差不多

逛逛逛 发表于 2024-2-21 09:16:13

赛龙周 发表于 2024-2-21 08:51
组件实例在页面可以理解为一个子页面吗

你看一下CellLocationInfo他包含页面名称。

建议 在组件中对单元格命名

用Page.getCellArray(name, includeSubPage) 后
循环对CELL赋值

赛龙周 发表于 2024-2-21 09:35:10

逛逛逛 发表于 2024-2-21 09:16
你看一下CellLocationInfo他包含页面名称。

建议 在组件中对单元格命名


组件单元格命名,实例化后充突

逛逛逛 发表于 2024-2-21 09:43:24

赛龙周 发表于 2024-2-21 09:35
组件单元格命名,实例化后充突

是会报错,但能运行:lol

逛逛逛 发表于 2024-2-21 09:43:54

本帖最后由 逛逛逛 于 2024-2-21 09:47 编辑

赛龙周 发表于 2024-2-21 09:35
组件单元格命名,实例化后充突
不知道你最终想实现什么效果?

常规一点,就用一个单元格的值变化事件,用操作单元格命令来设置所有组件的属性(组件时固定的情况下)。

Grayson.Shang 发表于 2024-2-21 14:09:10

大佬您好,在一个页面中多次使用同一个组件,若是对内部的单元格进行命名,这样会报错,导致名称重复,所以一般不推荐组件内对单元格命名。

前面有大佬提到了,组件容器在页面上也可以算作一个子页面,而使用getCellByLoacation()可以根据页面获取单元格,但由于一些限制,有些说不定可以完成一些需求。

所以打开可以先说一下咱们具体想要做成什么样的功能,我们看看是否有办法可以实现。
页: [1] 2
查看完整版本: 请教大佬们:如何通过javascript命令给组件的事件参数赋值?