起步软件技术论坛
搜索
 找回密码
 注册

QQ登录

只需一步,快速开始

查看: 7554|回复: 19

[处理中3] grid里面 动态创建控件

[复制链接]

119

主题

284

帖子

752

积分

高级会员

Rank: 4

积分
752
QQ
发表于 2017-1-5 14:24:58 | 显示全部楼层 |阅读模式
grid 现在 某一列  里面有 下拉和 普通输入控件
需要动态创建。
var input=require("$UI/system/components/justep/input/input");
     var parentNode = this.getElementByXid("editor5");
     var flag={
                xid:rid,
                parentNode:parentNode,
                class:"form-control",
                placeHolder:"请填写内容",
                autoFocus:"true"
           };
     var input1=new input(flag);


现在问题是   var parentNode = this.getElementByXid("editor5");
在grid里面的editor5,每条记录都不同。我如何能获取到这个 xid呢
发表于 2017-1-5 14:51:26 | 显示全部楼层
获取列表中的dom节点可以参考:
http://docs.wex5.com/wex5-ui-question-list-2061

建议您使用list实现更为方便,可以在设计时就加上input  ,提前让它隐藏,控制显示即可!

如果是在grid 或dataTables组件中 ,建议使用动态渲染的方式生成:
onCellRender 事件 http://doc.wex5.com/comps-datatables-grid/#5.1
qq:1912779713
WeX5教程--WeX5下载
回复 支持 反对

使用道具 举报

119

主题

284

帖子

752

积分

高级会员

Rank: 4

积分
752
QQ
 楼主| 发表于 2017-1-5 17:08:26 | 显示全部楼层
liangyongfei 发表于 2017-1-5 14:51
获取列表中的dom节点可以参考:
http://docs.wex5.com/wex5-ui-question-list-2061

可以让 input组件隐藏吗?怎么设置。
回复 支持 反对

使用道具 举报

1

主题

6163

帖子

2095

积分

金牌会员

Rank: 6Rank: 6

积分
2095
QQ
发表于 2017-1-5 17:12:22 | 显示全部楼层
1134193618 发表于 2017-1-5 17:08
可以让 input组件隐藏吗?怎么设置。

加个 display:none;  或者直接用jq的hide方法
回复 支持 反对

使用道具 举报

119

主题

284

帖子

752

积分

高级会员

Rank: 4

积分
752
QQ
 楼主| 发表于 2017-1-5 17:34:45 | 显示全部楼层
半导体 发表于 2017-1-5 17:12
加个 display:none;  或者直接用jq的hide方法

wex5 没有id啊 $("button4").hide();  
我这么写不好使 啊
回复 支持 反对

使用道具 举报

发表于 2017-1-5 18:03:18 | 显示全部楼层
1134193618 发表于 2017-1-5 17:34
wex5 没有id啊 $("button4").hide();  
我这么写不好使 啊

list 建议通过bind-visible  绑定一个计算列!计算列通过复制为true false
或者 0 1 就可以控制显示和隐藏
qq:1912779713
WeX5教程--WeX5下载
回复 支持 反对

使用道具 举报

119

主题

284

帖子

752

积分

高级会员

Rank: 4

积分
752
QQ
 楼主| 发表于 2017-1-5 18:16:08 | 显示全部楼层
本帖最后由 1134193618 于 2017-1-5 18:21 编辑
liangyongfei 发表于 2017-1-5 18:03
list 建议通过bind-visible  绑定一个计算列!计算列通过复制为true false
或者 0 1 就可以
和我的想法不同,我是做多条件查询。  
内容列里面可能是下拉,也可能是文本,也可能其他  在一个列里并存
你这个做法好像不太适合。  我现在的问题是,如何 得到 某一行 的内容列的容器组件的id值。  我好把动态创建的控件放到那个位置
2.jpg
2.jpg
回复 支持 反对

使用道具 举报

发表于 2017-1-6 09:31:40 | 显示全部楼层

list 中 可以使用点击当前行获取行的dom对象~!再使用dom操作动态添加
http://docs.wex5.com/wex5-ui-question-list-2019/

grid 中,建议使用onRender   事件 进行渲染

http://doc.wex5.com/comps-datatables-grid/#5.1
qq:1912779713
WeX5教程--WeX5下载
回复 支持 反对

使用道具 举报

1

主题

13

帖子

25

积分

新手上路

Rank: 1

积分
25
QQ
发表于 2017-1-6 21:14:14 | 显示全部楼层
再渲染的时候把当前记录的 rowid 渲染进去就和当前行的数据有了关系

比如说:

你渲染的 代码是 <button id="rowid"></button>

然直接用 jquery

$("#rowid")

这样是可以操作元素的

x5为什么要用 xid 是因为 xid 在经过编译之后 是全局唯一的

而如果用 id 的话 是很有可能重复的 , 比如 你在 [页面1.w] 中写了一个 <div id="test"></div>

之后你做这样一个操作 , 就是先打开 [页面1.w] 之后不要关闭

再打开 [页面2.w] , 你在 [页面2.w] 中的 js 里 是可以 通过 id 就获取到 [页面1.w] 中的那个元素的

http://www.x5dev.cn/
回复 支持 反对

使用道具 举报

119

主题

284

帖子

752

积分

高级会员

Rank: 4

积分
752
QQ
 楼主| 发表于 2017-3-5 08:32:55 | 显示全部楼层
liangyongfei 发表于 2017-1-5 14:51
获取列表中的dom节点可以参考:
http://docs.wex5.com/wex5-ui-question-list-2061

经观察,发现动态创建grid时没生成  editor5这个节点。如何生成呢
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 注册

本版积分规则

小黑屋|手机版|X3技术论坛|Justep Inc.    

GMT+8, 2025-7-3 23:01 , Processed in 0.071453 second(s), 26 queries .

Powered by Discuz! X3.4

© 2001-2013 Comsenz Inc.

快速回复 返回顶部 返回列表