Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

...

继承dorado.widget.Control对象,基本属性和使用请参考:Control(DCUG)

界面效果如下:

Image RemovedImage Added

DataPilot一般情况下都是与DataGrid控件配合使用,用于在Grid中数据的增删改和当前记录的定位功能,另外DataPilot还提供了翻页数据显示的功能。

...

itemCodes用于控制DataPilot中可以出现的按钮,列表如下:

符号图标说明
pagesImage RemovedImage Added是以下符号的一个集合:|<,<,goto,>,>|
|Image RemovedImage Added分割符号
+Image RemovedImage Added添加按钮
-Image RemovedImage Added删除按钮
xImage RemovedImage Added取消按钮
infoImage RemovedImage Added显示数据的分页基本信息
pageSizeImage RemovedImage Added是否允许用户自定义分页大小
gotoImage RemovedImage Added是否显示goto编辑框
|<Image RemovedImage Added翻到第一页
<Image RemovedImage Added上一条
>Image RemovedImage Added下一条
>|Image RemovedImage Added翻到最后一页

由于DataSet的数据绑定特性,当当前绑定的EntityList的状态发生变化时,DataSet会自动通知DataPilot自动刷新按钮的状态,如利用DataPilot翻到第一页时:

Image RemovedImage Added

前面两个翻页按钮就会灰化,同样如果翻到最后一页时最后两个按钮就会灰化:

Image RemovedImage Added

还有如当前Entity对象未修改过,其取消按钮为灰化:

Image RemovedImage Added

如果我们修改其中productName的值,则取消按钮就会自动变为可操作:

Image RemovedImage Added

还有当绑定的EntityList为空时,删除按钮自动灰化:

Image RemovedImage Added

重要事件说明

onSubControlAction

由于DataPilot是一个组合控件,当我们单击操作DataPilot中不同图标的时候,我们可以在onSubControlAction事件中通过参数的arg.code(参考:DataPilot(DCUGitemCodes))加以区分,例如:

Code Block
javascript
switch (arg.code){
	case "+":{	
		//此时单击的是新增按钮
		break;
	}
	case "-":{	
		//此时单击的是删除按钮
		break;
	}
	case "<":{	
		//此时单击的是上一条记录按钮
		break;
	}
	case ">|":{	
		//此时单击的是最后一页按钮
		break;
	}
} 

...

与onSubControlAction类似,当DataPilot刷新时,我们可以在这个事件中通过arg.code(参考:DataPilot(DCUGitemCodes))区分此时刷新的是哪个按钮,例如:

Code Block
javascript
switch (arg.code){
	case "-":{	
		//此时刷新的是删除按钮
		var entity = dataSet.getData("#");
		if (entity && entity.get("xxx")==xxx){
			arg.control.set("disabled", true);
		}else{
			arg.control.set("disabled", false);
		}
		arg.processDefault = false;
		break;
	}
} 

...