/**
* Copyright © 2012-2014 JeeSite All rights reserved.
*/
package com.nis.supcan;
import com.nis.util.ObjectUtils;
import com.thoughtworks.xstream.annotations.XStreamAlias;
import com.thoughtworks.xstream.annotations.XStreamAsAttribute;
import com.thoughtworks.xstream.annotations.XStreamConverter;
import com.thoughtworks.xstream.annotations.XStreamOmitField;
import com.thoughtworks.xstream.converters.extended.ToAttributedValueConverter;
/**
* 硕正TreeList Cols Col
* @author WangZhen
* @version 2013-11-04
*/
@XStreamAlias("Col")
@XStreamConverter(value = ToAttributedValueConverter.class, strings = {"text"})
public class Col {
///////////////////////////////////// 主要 //////////////////////////////////////
/**
* 列名 串, 相当于字段名
*/
@XStreamAsAttribute
private String name;
/**
* 内容是否允许重复 true/false
*/
@XStreamAsAttribute
private String isUnique = "false";
/**
* 是否允许为空 true/false
*/
@XStreamAsAttribute
private String nullAble = "true";
/**
* 默认值 串, 用于新插入行操作时的初始, 支持以 "=" 开头的表达式,例如 defaultValue="=now( )", 表示将日期型默认值设为当天 (无)
* 注: 仅对新插入的行有效
*/
@XStreamAsAttribute
private String defaultValue;
/**
* 数据类型 有 string / int / double / bool / date / datetime 这几种
*/
@XStreamAsAttribute
private String dataType;
/**
* 小数位数 -1至8, 仅用于 double 型。 -1表示小数位数不确定, 可以在0位和8位之间可以任意输入, 默认: 2
*/
@XStreamAsAttribute
private String decimal;
/**
* 是否超链接列 true/false false
*/
@XStreamAsAttribute
private String isHyperlink;
/**
* 是否隐藏, true - 隐藏;
* false - 显示;
* absHide 或 absTrue - 绝对隐藏,不会被鼠标右键菜单选择;
* absShow 或 absFalse - 绝对显示,不会被鼠标右键菜单选择;
*/
@XStreamAsAttribute
private String isHide;
/**
* 点击列标题是否执行排序 true/false ,默认:true
* 注: 如果中的sortAble设为false, 则本sortAble无效(false)
*/
@XStreamAsAttribute
private String sortAble;
/**
* 是否允许列的拖动操作 ,默认:true
* 注: 如果中的moveAble设为false, 则本moveAble无效(false)
*/
@XStreamAsAttribute
private String moveAble;
/**
* 是否允许被粘贴 ,默认:supcan.xml
* true - 允许;
* false - 不允许;
* supcan.xml - 通常是允许,但是当列不可编辑时(包括隐藏时),将以supcan.xml中的 的设定为准;
*/
@XStreamAsAttribute
private String pasteAble;
/**
* 指向另一列的列名,显示的内容存放在该列中,是另类 key-value对 的简易字典解决方案
*/
@XStreamAsAttribute
private String textId;
///////////////////////////////////// 外观 //////////////////////////////////////
/**
* 是否以千位符分隔显示 true/false 默认:true
* 注: 仅用于 datatype 为 int 或 double 时
*/
@XStreamAsAttribute
private String isThousandSeparat;
/**
* 列宽 整数 - 绝对宽度 (单位:像素数);
* 百分比 - 窗口宽度的百分比, 如:20%;
* 为小于1的分数 - 比例因子,用于分配剩余的宽度, 如0.2;
* fitHeader 或 header - 自动伸展到能使表头标题能够完整显示;
*/
@XStreamAsAttribute
private String width;
/**
* 列的最小宽度 像素数 10
*/
@XStreamAsAttribute
private String minWidth;
/**
* 水平对齐 left / center / right
*/
@XStreamAsAttribute
private String align;
/**
* 垂直对齐 top / vcenter(或middle) / bottom vcenter
*/
@XStreamAsAttribute
private String vAlign;
/**
* 列标题文字的对齐 left / center / right center
*/
@XStreamAsAttribute
private String alignHeader;
/**
* 采用的字体 数字,指向在中定义的字体的顺序号, 从0开始计数, 等级高于中的同名属性 -1
*/
@XStreamAsAttribute
private String fontIndex;
/**
* 列标题采用的字体 数字,指向在中定义的字体的顺序号, 从0开始计数, 等级高于中的同名属性 -1
*/
@XStreamAsAttribute
private String headerFontIndex;
/**
* 列标题文字颜色 颜色串 #000000
*/
@XStreamAsAttribute
private String headerTextColor;
/**
* 列标题旁边的小图标 可以是图标的URL, 也可以是如下格式的串:
* url=[?];pos=[?]
* pos用于指定图标的位置, 是水平(left/right)、 垂直(top/middle/bottom)方向的组合. 举例如下:
* url=../ac.png;pos=right,bottom
* 建议采用png或ico这类透明的图片
*/
@XStreamAsAttribute
private String headerIcon;
/**
* 鼠标点击上述小图标时弹出的提示文字 文字串, 如果不定义这个串,鼠标点击小图标时将触发Clicked事件
*/
@XStreamAsAttribute
private String headerIconTip;
/**
* 用于显示的格式掩码表达式 表达式的内容包括显示内容、 背景色、 文字色、 左图、 右图. 请详见Treelist帮助文档的"3.几个重要的属性"
* formatDate(data,'YYYY-MM-DD')
* =if(data=='1','关闭',if(data=='2','已完成',if(data=='3','未接收','进行中')))
*/
@XStreamAsAttribute
private String displayMask;
/**
* 位于多层表头的层位置 数字,从0开始
*/
@XStreamAsAttribute
private String atLayer;
/**
* 位于多层表头的层位置 数字,从0开始
*/
@XStreamAsAttribute
private String extentRows;
/**
* 下拉列(droplis, droptreelist)单元格的文字显示方式 0 - 仅显示文字部分;
* 1 - 仅显示键值(即key)部分;
* 2 - 键值+" - "+文字;
*/
@XStreamAsAttribute
private String dropDisplayType;
/**
* 虚拟列的数据分隔符 串,比如"/", 如果设了这个串,在加载数据后,程序将按这个分隔符自动对各行数据进行处理,使其看上去呈现多列的效果。此外, 各个段中纵向、横向如果有连续相同的数据,将自动呈现纵、横的合并效果 (无)
* 注1: 仅改变显示效果,并不改变数据;
* 注2: VColSep列有诸多限制,例如只能用于string型、不能作为树的排序列等等;
*/
@XStreamAsAttribute
private String VColSep;
/**
* VColSepStyle 虚拟列的合并方式 row - 只允许跨行的垂直合并;
* col - 只允许跨列的横向合并;
* row,col - 跨行、跨列自动合并;
*/
@XStreamAsAttribute
private String VColSepStyle;
/**
* 合计表达式
*/
@XStreamAsAttribute
private String totalExpress;
/**
* 小计表达式
*/
@XStreamAsAttribute
private String subTotalExpress;
/**
* 列的显示名称
*/
private String text;
/**
* 归属组ID
*/
@XStreamOmitField
private String groupId;
/**
* 字段排序,注解定义时有效
*/
@XStreamOmitField
private int sort;
public Col() {
}
public Col(String name) {
this.name = name;
}
public Col(String name, String text) {
this(name);
this.text = text;
}
public Col(SupCol supCol){
ObjectUtils.annotationToObject(supCol, this);
}
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
public String getIsUnique() {
return isUnique;
}
public void setIsUnique(String isUnique) {
this.isUnique = isUnique;
}
public String getNullAble() {
return nullAble;
}
public void setNullAble(String nullAble) {
this.nullAble = nullAble;
}
public String getDefaultValue() {
return defaultValue;
}
public void setDefaultValue(String defaultValue) {
this.defaultValue = defaultValue;
}
public String getDataType() {
return dataType;
}
public void setDataType(String dataType) {
this.dataType = dataType;
}
public String getDecimal() {
return decimal;
}
public void setDecimal(String decimal) {
this.decimal = decimal;
}
public String getIsHyperlink() {
return isHyperlink;
}
public void setIsHyperlink(String isHyperlink) {
this.isHyperlink = isHyperlink;
}
public String getIsHide() {
return isHide;
}
public void setIsHide(String isHide) {
this.isHide = isHide;
}
public String getSortAble() {
return sortAble;
}
public void setSortAble(String sortAble) {
this.sortAble = sortAble;
}
public String getMoveAble() {
return moveAble;
}
public void setMoveAble(String moveAble) {
this.moveAble = moveAble;
}
public String getPasteAble() {
return pasteAble;
}
public void setPasteAble(String pasteAble) {
this.pasteAble = pasteAble;
}
public String getTextId() {
return textId;
}
public void setTextId(String textId) {
this.textId = textId;
}
public String getIsThousandSeparat() {
return isThousandSeparat;
}
public void setIsThousandSeparat(String isThousandSeparat) {
this.isThousandSeparat = isThousandSeparat;
}
public String getWidth() {
return width;
}
public void setWidth(String width) {
this.width = width;
}
public String getMinWidth() {
return minWidth;
}
public void setMinWidth(String minWidth) {
this.minWidth = minWidth;
}
public String getAlign() {
return align;
}
public void setAlign(String align) {
this.align = align;
}
public String getvAlign() {
return vAlign;
}
public void setvAlign(String vAlign) {
this.vAlign = vAlign;
}
public String getAlignHeader() {
return alignHeader;
}
public void setAlignHeader(String alignHeader) {
this.alignHeader = alignHeader;
}
public String getFontIndex() {
return fontIndex;
}
public void setFontIndex(String fontIndex) {
this.fontIndex = fontIndex;
}
public String getHeaderFontIndex() {
return headerFontIndex;
}
public void setHeaderFontIndex(String headerFontIndex) {
this.headerFontIndex = headerFontIndex;
}
public String getHeaderTextColor() {
return headerTextColor;
}
public void setHeaderTextColor(String headerTextColor) {
this.headerTextColor = headerTextColor;
}
public String getHeaderIcon() {
return headerIcon;
}
public void setHeaderIcon(String headerIcon) {
this.headerIcon = headerIcon;
}
public String getHeaderIconTip() {
return headerIconTip;
}
public void setHeaderIconTip(String headerIconTip) {
this.headerIconTip = headerIconTip;
}
public String getDisplayMask() {
return displayMask;
}
public void setDisplayMask(String displayMask) {
this.displayMask = displayMask;
}
public String getAtLayer() {
return atLayer;
}
public void setAtLayer(String atLayer) {
this.atLayer = atLayer;
}
public String getExtentRows() {
return extentRows;
}
public void setExtentRows(String extentRows) {
this.extentRows = extentRows;
}
public String getDropDisplayType() {
return dropDisplayType;
}
public void setDropDisplayType(String dropDisplayType) {
this.dropDisplayType = dropDisplayType;
}
public String getVColSep() {
return VColSep;
}
public void setVColSep(String vColSep) {
VColSep = vColSep;
}
public String getVColSepStyle() {
return VColSepStyle;
}
public void setVColSepStyle(String vColSepStyle) {
VColSepStyle = vColSepStyle;
}
public String getTotalExpress() {
return totalExpress;
}
public void setTotalExpress(String totalExpress) {
this.totalExpress = totalExpress;
}
public String getSubTotalExpress() {
return subTotalExpress;
}
public void setSubTotalExpress(String subTotalExpress) {
this.subTotalExpress = subTotalExpress;
}
public String getText() {
return text;
}
public void setText(String text) {
this.text = text;
}
public int getSort() {
return sort;
}
public void setSort(int sort) {
this.sort = sort;
}
public String getGroupId() {
return groupId;
}
public void setGroupId(String groupId) {
this.groupId = groupId;
}
}