如何实现dorado的datatable整列单选效果

 
前不久habody问了我一个问题,就是如何实现以下的功能:
1

一整列只能选择某一行记录,我个人认为用dorado以后,可以不用这样子的功能,因为datatable点击本来就是选择某一行.
不过说归说,实现如下:

方式一:
1:在dataset里加入select字段
代码如下:
<Field name="select" type="Dummy" dataType="boolean" defaultValue="1">
     <Properties />
    </Field>



2,在与dataset绑定的datatable里加入column,代码如下:
<Column name="field1" field="select" dropDown="dropdown1" editorType="radiogroup" rendererType="radiogroup" />
   

3,加入一个ListDropDo

<Control id="dropdown1" type="ListDropDown" mapValue="true">
   <DropDownItem value="1" />
  </Control>

 

可以在column的onRefresh事件里实现预先选中某行记录的单选按钮

 

以上方式是一种假单选效果.

 

 

现在介绍方式二:

1:在dataset里加入select字段
代码如下:
<Field name="select" type="Dummy" dataType="boolean" defaultValue="1">
     <Properties />
    </Field>

 

2,

在与dataset绑定的datatable里加入column,代码如下:

<Column name="field1" field="select" readOnly="true">
    <Events>
     <Event name="onRefresh">var roleid=record.getValue("ROLE_ID");
if(roleid=="ff808081197f6fdc01197f8c79b70051")//此处可以读取设定的预选选中的某条记录
{
   cell.innerHTML ="<center><input type=/"radio/" name=/"select/" value=/""+roleid+"/" checked οnclick=/"doclick(this.value)/" /></center>";}
else{
cell.innerHTML ="<center><input type=/"radio/" name=/"select/" value=/""+roleid+"/" οnclick=/"doclick(this.value)/" /></center>";
}
return false;</Event>
    </Events>
   </Column>

 

这样就可以实现效果了,如果要在单击单选时触发JS事件,可以像下面这样子写:

  然后在function里定义doclick()就行了.

function doclick(roleid){
  alert(roleid);
 
}

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值