itemRenderer 渲染后导致拖拽失效

datagrid支持拖拽
 dropEnabled="true"
							   dragEnabled="true"
							   dragMoveEnabled="true"


最初写法:
<mx:DataGridColumn headerText="模板类型">
				<mx:itemRenderer>
					<mx:Component>
						<mx:Box>
							<mx:Script>
								<![CDATA[
									import com.hundsun.job.data.net.JobNetType;
									import mx.controls.*;

									override public function set data(value:Object):void
									{
										super.data=value;
										if (value.type == JobNetType.CLUSTERNET)
										{
											lab.text="聚簇模板";
										}
										else
										{
											lab.text="流程模板";
										}
									}
								]]>
							</mx:Script>
						</mx:Box>
						<mx:Label id="lab"/>
					</mx:Component>
				</mx:itemRenderer>
			</mx:DataGridColumn>




修改后写法:
<mx:DataGridColumn headerText="模板类型">
				<mx:itemRenderer>
					<mx:Component>
						<mx:Box>
							<mx:Script>
								<![CDATA[
									import com.hundsun.job.data.net.JobNetType;
									import mx.controls.*;

									override public function set data(value:Object):void
									{
										super.data=value;
										var lab:Label=new Label();
										if (value.type == JobNetType.CLUSTERNET)
										{
											lab.text="聚簇模板";
										}
										else
										{
											lab.text="流程模板";
										}
										addChild(lab);
									}
								]]>
							</mx:Script>
						</mx:Box>
					</mx:Component>
				</mx:itemRenderer>
			</mx:DataGridColumn>


原因:出现此错误是由于拖拽datagrid的条目后找不到lab所致。

你可能感兴趣的:(itemRenderer)