`

Ext4 Grid规则校验

    博客分类:
  • JS
 
阅读更多

Ext4 的排班规则列表, 需要在选中一个规则时, 判断是否与已经选中的规则存在冲突。

在Ext 的 ruleModel 中增加字段 ruleMutexs, 接收从后台传来的互斥规则代码列表。因为一个规则的互斥规则有可能多个,

有些担心 Ext.data.Model 中的字段是否能接收数组类型。试试再说。

 

 

//排班规则
	Ext.define('ruleModel',{
		extend:'Ext.data.Model',
		fields:[
			{name:'ruleCode',type:'string'},
			{name:'ruleName',type:'string'},
			{name:'ruleTypeName',type:'string'},
			{name:'ruleSelected'},
			{name:'ruleMutexs'}
		]
	});

 

后台, 在 ScheduleRuleDto  中增加对应的数据字段

	//互斥规则
	public String[] ruleMutexs;
	
	public String[] getRuleMutexs() {
		return ruleMutexs;
	}

	public void setRuleMutexs(String[] ruleMutexs) {
		this.ruleMutexs = ruleMutexs;
	}
	

跑起, 页面中打印 slct[i].data.ruleMutexs.length 得到 1 , 说明数组成功得到。

 

在选中事件中增加判断, 如果存在冲突, 那么取消选中。

 

	airportGrid.on('select',function( rm, record, index, eOpts ){
		if(!conflictChk){
			return;
		}
		var slct = airportGrid.getSelectionModel().getSelection();
		for(var i=0;i<slct.length; i++){
			if(slct[i].data.ruleCode != record.data.ruleCode){//排除自己
				var mutexs = slct[i].data.ruleMutexs;
				for(var j=0;j<mutexs.length;j++){
					//alert(mutexs[j]);
					if(mutexs[j] == record.data.ruleCode){
						alert("该规则与已选的规则:" + slct[i].data.ruleName + "冲突!");
						airportGrid.getSelectionModel().deselect(record,true,false);
					}
				}
			}
		}
		//判断当前选中的规则是否与已经选中的规则存在冲突
		//alert(record.data.ruleCode);
	});

 

 

 

分享到:
评论

相关推荐

    EXT学习心得,ext

    2. **使用CheckboxSelectionModel**:这是另一种实现复选框选择的方式,通过实例化`Ext.grid.CheckboxSelectionModel`并将其添加到表格配置的`sm`属性中。这种模式支持多选,并且可以轻松地获取所有被选中的行记录。...

    Ext 开发指南 学习资料

    4.7.4. 自定义验证规则 4.7.5. 算不上校验的NumberField 4.7.6. 使用后台返回的校验信息 4.8. 关于表单内部控件的布局问题 4.8.1. 什么都不做,默认的平铺布局 4.8.2. 分裂,分列 4.8.3. fieldset是个神奇的东西 ...

    ext form gridpanel

    "Ext Form GridPanel"是Ext JS库中的一个重要组件,它结合了表格(Grid)和表单(Form)的功能,提供了一种强大而灵活的方式来显示和编辑数据。在Web应用程序开发中,这种组件常用于数据录入和展示,尤其适用于处理...

    EXT2.0中文教程

    4.7.5. 算不上校验的NumberField 4.8. 关于表单内部控件的布局问题 4.8.1. 什么都不做,默认的平铺布局 4.8.2. 分裂,分列 4.8.2.1. 分裂,分列。1.x 4.8.2.2. 分裂,分列。2.0 4.8.3. fieldset是个神奇的东西 4.8.4...

    .net EXT学习资料与源码

     三层体系的应用程序将业务规则、数据访问、合法性校验等工作放到了中间层进行处理。通常情况下,客户端不直接与数据库进行交互,而是通过COM/DCOM通讯与中间层建立连接,再经由中间层与数据库进行交互。  表示层 ...

    ExtJS4+Struts2.1的Grid 增删改查

    本文将深入探讨如何使用这两种技术实现Grid的增删改查功能,帮助新手理解ExtJS4与Struts2.1的交互机制。 首先,我们来看ExtJS4中的Grid组件。Grid是ExtJS中用于展示和管理数据的一种视图,它提供了一种灵活且可定制...

    Ext中的Excel导入界面

    1. **ExtJS组件使用**:ExtJS提供了丰富的UI组件,如Grid、Form、Window等。在实现Excel导入时,我们需要创建一个窗口(Window)组件,包含一个文件上传控件(FileField)。用户可以通过这个控件选择本地的Excel文件...

    extjs完成用户增删改查

    10. **事件监听(Event Handling)**:监听Grid和表单的事件,如`itemdblclick`(双击行编辑),`beforeedit`(编辑前校验),`validateedit`(编辑验证),`beforesubmit`(提交前处理)等,以控制用户操作流程。...

    ExtJs GridPanel简单的增删改实现代码

    3. 实现表单界面,并对表单字段进行数据校验; 4. 通过按钮等控件触发新增、修改和删除操作; 5. 实现与后端服务的数据交互逻辑,包括发送HTTP请求和处理响应; 6. 对GridPanel中的数据存储进行相应的增加、更新和...

    extjs控件列表

    **Ext.grid.PropertyGrid** - **描述**: 属性表格,用于显示对象的属性及其值。 - **用途**: 查看和编辑对象的属性,如设备参数、用户设置等。 **Ext.Editor** - **描述**: 编辑器组件,用于编辑各种类型的数据。 -...

    ExtJs的服务器端控件实现

    1. **Ajax通信**:ExtJS 使用Ajax进行异步请求,通过Ext.Ajax对象或者直接使用Action Components(如FormPanel)来发送GET或POST请求到服务器。这些请求可以包含数据,并接收服务器返回的数据,更新UI。 2. **JSON...

    ExtJS快速入门指南.pdf

    表格Grid部分介绍了ExtJS的网格组件Grid的创建、配置和数据绑定方法,Grid组件对于处理和展示数据集非常有用。 TreePanel部分探讨了树状结构组件的使用方法,适用于创建层次化数据展示和导航。 表单Form部分讲解了...

    很不错的ExtJs PPT

    EXTJS还提供了一款灵活的时间控件,允许用户自定义时间格式,并进行合法性校验。 要开始EXTJS的学习,首先需要下载EXTJS发布包,其中包含必要的JS类库和CSS样式库。在实际部署时,EXTJS的文件引用通常是相对路径,...

Global site tag (gtag.js) - Google Analytics