树形数据默认是延迟加载的,即默认只加载根数据,子数据需要展开的父的时候才加载,这样就导致如果选择的有子数据下拉展开的还是数据不会选中
树形grid提供的有行展开(onExpandRow)事件,因此可以在这个事件中控制行选中,具体实现如下:
在gridSelect组件的onShowOption事件中实现监控onExpandRow事件

		Model.prototype.orgSelectPC1ShowOption = function(event){
		 var gridselect = event.source;//获取gridselect组件
		 var grid = gridselect.grid;//获取gridSelect组件内部的grid
		 var id = this.comp("mainData").getValue("fBMID");//获取当前行已经选择的数据(bind-ref关联的关系值)
		 var column = gridselect.optionCfg.value;//获取option-value设置的关系
		 var valueSeparator = gridselect.valueSeparator;//获取多选值的分隔符
		 var data = this.comp("bizData1");	//获取option关联的data
		 grid.on('onExpandRow', function(event) {//使用on方法添加onExpandRow事件
			//取消已经选择的
			var checkIDs = grid.getCheckeds();
			if($.isArray(checkIDs)){
				for(i=0;i<checkIDs.length;i++){
						grid.setRowChecked(checkIDs[i],false);
				}
			}		     		 
	        //设置行选中	
		     if(id){
					 var ids = id.split(valueSeparator);
					 for(var i = 0;i<ids.length;i++){
						 var rows = data.find([ column ], [ ids[i] ], true);
						 if(rows.length > 0){
							 grid.setRowChecked(ids[i],true);						
						 }
					 }
			  }	 
        });
	};