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

来源:互联网 发布:windows 扩展屏幕 编辑:程序博客网 时间:2024/05/16 18:30

 
前不久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 onclick=/"doclick(this.value)/" /></center>";}
else{
cell.innerHTML ="<center><input type=/"radio/" name=/"select/" value=/""+roleid+"/" onclick=/"doclick(this.value)/" /></center>";
}
return false;</Event>
    </Events>
   </Column>

 

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

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

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

 

原创粉丝点击