在Flex的DataGrid中展示长字符串比如数据库中的Clob字段一般的做法都是在对应的列区域放入一个按钮如果用户需要查看的话就点进去弹出一个窗口或者编辑器,等不用的时候再关闭。
在Flex中这个功能是用ItemRender来实现的。以下代码通过一个PopUpButton和RichTexEditor来实现的。在查看消息历史的应用中,有两个Clob字段需要展示,一个是消息本身,另一个是在消息出来出现异常的情况下查看异常信息。所以用到了PopUpButton,用RicheTexEditor主要是他功能较多,只为了好看吧。你可以用别的如TextArea等替换的。
package message.utils
{
import flash.events.MouseEvent;
import mx.containers.TitleWindow;
import mx.controls.Button;
import mx.controls.Menu;
import mx.controls.PopUpButton;
import mx.controls.RichTextEditor;
import mx.events.CloseEvent;
import mx.events.MenuEvent;
import mx.managers.PopUpManager;
public class ClobColumnItemRender extends PopUpButton
{
private var menu:Menu;
private var rt:RichTextEditor;
private var titleWin:TitleWindow;
public function ClobColumnItemRender()
{
super();
menu = new Menu();
var dp:Object = [{label:"消息"},{label:"异常"}];
menu.dataProvider = dp;
menu.addEventListener(MenuEvent.ITEM_CLICK,changeHandler);
this.popUp = menu;
this.addEventListener(MouseEvent.CLICK, showMsg);
this.label = dp[0].label as String;
rt=new RichTextEditor();
rt.horizontalScrollPolicy="off";
rt.verticalScrollPolicy="off";
rt.visible=false;
}
override public function set data(value:Object):void{
super.data = value;
this.rt.text = value.message as String;
}
//Show The Message Or Error Log ,s Detail Information
private function showMsg(event:MouseEvent):void
{
this.titleWin=PopUpManager.createPopUp((event.currentTarget as Button).parent, TitleWindow, true) as TitleWindow;
this.titleWin.title="Messag Information";
this.titleWin.showCloseButton = true;
this.titleWin.addEventListener(CloseEvent.CLOSE, closeHandler);
this.titleWin.addChild(rt);
rt.visible=true;
PopUpManager.centerPopUp(titleWin);
}
//When Sub Pop-Up Button Change Event Is Despatched Decide Msg Or Log To Show
private function changeHandler(event:MenuEvent):void{
this.label = event.label;
if(data.hasOwnProperty("message") && label=="消息"){
this.rt.text = data.message;
}else if(data.hasOwnProperty("exception")&&label =="异常"){
this.rt.text = data.exception;
}
this.close();
}
//Close The Sub Poped RicheTextEditor
private function closeHandler(event:CloseEvent):void
{
PopUpManager.removePopUp(this.titleWin);
this.rt.visible=false;
}
}
}
分享到:
相关推荐
大数据量,返回值虽然是CLOB,依然会报错; CLOB变量需要dbms_lob.createtemporary,临时表空间中,建立临时LOB。 大数据量,返回值虽然是CLOB,依然会报错; CLOB变量需要dbms_lob.createtemporary,临时表空间中,...
在IT领域,尤其是在数据库开发与管理方面,处理大数据量及特殊数据类型是非常常见的需求之一。在Oracle数据库中,当我们遇到需要存储超过4000个字符的文本数据时,使用CLOB(Character Large Object)类型便显得尤为...
然而,在处理CLOB数据时,常常需要将其转换为更易于操作的字符串格式。本文将详细介绍如何在Oracle中实现CLOB字段到字符串类型的转换,并探讨其中的关键技术和注意事项。 #### 一、CLOB概述 1. **定义**: - `...
在Oracle数据库中,CLOB(Character Large Object)字段类型用于存储大量的文本数据,如XML文档、长篇文章或者大量字符数据。然而,当你尝试向CLOB字段插入数据时,如果超过了Oracle规定的最大限制,就会遇到“ORA-...
CLOB 的优点是可以存储大量的字符数据,并且可以使用字符串操作来处理 CLOB 数据。 BLOB(Binary Large OBject)是另一种数据库类型,用于存储二进制大对象。它是一个大文件,典型的 BLOB 是一张图片或一个声音文件...
CLOB(Character Large OBject)和 BLOB(Binary Large OBject)都是大字段类型,用于存储大量的数据。 CLOB 类型用于存储文本数据,可以存储长文本、文章、备注等信息。在 Oracle 数据库中,CLOB 类型对应的数据库...
与BLOB(Binary Large Object)不同的是,CLOB主要用于存储字符数据。在不同的数据库系统中,CLOB类型的实现方式可能会有所不同。例如,在Oracle数据库中,CLOB可以存储最大为4GB的数据;而在MySQL中,则是使用`LONG...
在Oracle数据库中,CLOB(Character Large Object)类型是用来存储大量字符数据的,如文本、HTML文档或XML数据。当你尝试向CLOB字段插入数据时,如果遇到“字符串过长”的错误,通常是因为你的插入操作试图将超过...
在数据库中,CLOB(Character Large Object)类型用于存储大文本数据,如长篇文章或XML文档。在使用MyBatis框架进行数据操作时,我们可能会遇到CLOB类型数据的读写问题,尤其是在转换和插入数据库时。本篇将详细探讨...
在数据库迁移或数据同步的过程中,有时需要将含有大对象(LOB,包括BLOB和CLOB)的数据从一个数据库系统复制到另一个不完全支持LOB的数据库系统。本例中,我们讨论如何将DB2数据库中的BLOB数据类型复制到Oracle...
在处理Oracle数据库中的大文本数据时,CLOB(Character Large Object)类型被广泛应用于存储大量字符数据,如文章、报告或任何大型文本信息。本文将详细介绍如何有效地向Oracle数据库插入Clob大段文本,以及在操作...
CLOB是一种用于存储大量字符数据的数据类型,它可以容纳最大4GB的单个文本对象。在Oracle中,CLOB通常用于存储大段的文本,如文章、报告或者XML文档。 iBATIS是一个Java库,它允许开发者将SQL语句与Java代码分离,...
CLOB与BLOB的主要区别在于,BLOB用于存储二进制数据,而CLOB则专门用于存储字符数据。CLOB可以使用标准的SQL语句进行操作,例如INSERT、UPDATE、DELETE和SELECT等。 #### 读取CLOB字段的方法 在Oracle中读取CLOB...
CLOB主要用于存储大量字符数据,它支持Unicode编码,能够存储最大达4GB的数据量。在Oracle数据库中,CLOB类型的字段可以被看作是一个指向实际存储位置的指针,而数据本身可能存储在数据库的不同物理位置。因此,在...
CLOB是一种用于存储大量字符数据的数据类型,它支持Unicode编码,并且可以存储最大达4GB的数据。与BLOB(Binary Large Object)不同的是,CLOB主要用来存储文本数据。 #### 如何读取CLOB类型的字段 在Java中,读取...
CLOB是一种数据库对象,用于存储大量字符数据,其大小通常在4GB以下。在Oracle数据库中,CLOB可以用于存储非二进制的文本数据。 1. 插入CLOB数据: 在Java中,我们通常使用PreparedStatement来插入CLOB数据。首先,...
- **数据类型**:Blob存储的是二进制数据,而Clob存储的是字符数据。 - **应用场景**:Blob适用于图片、视频等多媒体文件的存储;Clob则更适用于文档、文章等文本数据的存储。 - **处理方式**:Blob数据通常需要通过...
CLOB 字段可以存储大量的 Unicode 字符串数据,并提供了高效的读写机制。 将 Image 类型数据导出到 Oracle 的 CLOB 字段中 为了将 SQL Server 中的 Image 类型数据导出到 Oracle 的 CLOB 字段中,我们需要使用Java...