[]
        
(Showing Draft Content)

GrapeCity.Forguncy.CellTypes.CellType

类 CellType

单元格类型插件的父类定义。

继承
object
CellType
实现
System.ComponentModel.INotifyPropertyChanged
命名空间: GrapeCity.Forguncy.CellTypes
程序集: GrapeCity.Forguncy.CellTypes.dll
语法
[Icon("pack://application:,,,/Forguncy;component/Images/DefaultCellTypeIcon.png")]
public abstract class CellType : INotifyPropertyChanged
示例
public class MyPluginCellType : CellType
{
    ...
}

构造函数

CellType()

单元格类型插件的父类定义。

声明
protected CellType()
示例
public class MyPluginCellType : CellType
{
    ...
}

属性

AllowSetTabOrder

是否支持设置Tab键顺序。

声明
public bool AllowSetTabOrder { get; }
属性值
类型 描述
bool

CellTextPropertyName

设置单元格的显示文本关联到某个属性的值上,如默认值属性。 如果修改了某个单元格属性的值后希望能应用到单元格本身,则需要指定该属性名。

声明
public virtual string CellTextPropertyName { get; }
属性值
类型 描述
string
示例
public class MyNumberCellType : CellType
{
    [FormulaProperty]
    public object DefaultNumberValue { get; set; }

    public override string CellTextPropertyName
    {
        get
        {
            return "DefaultNumberValue";
        }
    }
}

DefaultAlignment

单元格类型插件的默认水平对齐方式。

声明
public virtual ForguncyCellHorizontalAlignment DefaultAlignment { get; }
属性值
类型 描述
ForguncyCellHorizontalAlignment
示例
public class MyNumberCellType : CellType
{
    public override ForguncyCellHorizontalAlignment DefaultAlignment
    {
        /*return ForguncyCellHorizontalAlignment.General;  //默认对齐方式*/
        return ForguncyCellHorizontalAlignment.Right;
    }
}

DisableTabOrder

禁用Tab键顺序。

声明
[Browsable(false)]
public bool DisableTabOrder { get; set; }
属性值
类型 描述
bool

DisplayBehaviour

单元格类型的显示行为。 如果指定显示行为是DisplayBehaviour.KeepBorderWhenMerge,那么默认生成的单元格类型会带边框,而且Border会随着单元格的合并或取消合并自适应边框的大小。

声明
public virtual DisplayBehaviour DisplayBehaviour { get; }
属性值
类型 描述
DisplayBehaviour
示例
public class MyNumberCellType : CellType
{
    public override DisplayBehaviour DisplayBehaviour
    {
        /*return DisplayBehaviour.None;  //默认没有特殊行为。*/
        return DisplayBehaviour.KeepBorderWhenMerge;  /*插件自带边框。*/
    }
}

RenderCacheId

用于判断单元格缓存状态

声明
public string RenderCacheId { get; }
属性值
类型 描述
string

SupportFeatures

支持的特性,如设置单元格格式,Tab键设置等。

声明
public virtual SupportFeatures SupportFeatures { get; }
属性值
类型 描述
SupportFeatures
示例
public class MyNumberCellType : CellType
{
    public override SupportFeatures SupportFeatures
    {
        /*return SupportFeatures.None;  //默认没有特性。*/
        return SupportFeatures.AllowSetFormat;  /*插件支持单元格格式设置。*/
    }
}

TabIndex

Tab键顺序。

声明
[Browsable(false)]
public int? TabIndex { get; set; }
属性值
类型 描述
int?

ValueSupportMultipleLanguage

Value值是否支持多语言

声明
public virtual bool ValueSupportMultipleLanguage { get; }
属性值
类型 描述
bool

方法

Clone()

克隆方法。

声明
public CellType Clone()
返回值
类型 描述
CellType

克隆后的插件对象。

CloneImp()

克隆方法。 如果单元格类型中有自定义复杂类型的属性,该复杂类型就需要实现ICloneable接口,否则会导致复杂类型的数据无法保存。

声明
protected virtual CellType CloneImp()
返回值
类型 描述
CellType

克隆后的插件对象。

示例
public class MenuCellType : CellType
{
    public  List<MenuItemInfo> MenuItems { get; set; }
}

public class MenuItemInfo : ICloneable
{
    public object Value { get; set; }

    public string Text { get; set; }

    public  List<MenuItemInfo> SubMenuItems { get; set; }

    /*here need implement this method.*/
    public object Clone()
    {
        /*处理>*/
    }
}

GetApplicationResource()

获取应用资源。

声明
public Dictionary<string, string> GetApplicationResource()
返回值
类型 描述
System.Collections.Generic.Dictionary<TKey, TValue><string, string>

返回应用资源。

GetApplicationResource(string)

获取应用资源。

声明
public string GetApplicationResource(string name)
参数
类型 名称 描述
string name

资源名,以‘~’开头

返回值
类型 描述
string

返回应用资源。

GetCellValue(out object, out string)

获取单元格属性的值从而设值给单元格。

声明
public virtual void GetCellValue(out object value, out string formula)
参数
类型 名称 描述
object value

返回属性的值

string formula

返回属性的格式

GetDesignerPropertyVisible(string)

如果需要动态改变属性编辑器的可见性,可以重写该函数。

声明
public virtual bool GetDesignerPropertyVisible(string propertyName)
参数
类型 名称 描述
string propertyName

属性名

返回值
类型 描述
bool

返回True表示属性编辑器可见,否则不可见。

示例
public class MenuCellType: CellType
{
    public Orientation Orientation { get; set; }

    public ExpandStyle DefaultExpandStyle { get; set; }

    public override bool GetDesignerPropertyVisible(string propertyName)
    {
        if (propertyName == "DefaultExpandStyle")
        {
            if (Orientation == MenuOrientation.Horizontal)  //如果是水平方向的菜单隐藏默认展开方式。
            {
                return false;
            }
            return true;
        }
        return base.GetDesignerPropertyVisible(propertyName);
    }
}

GetDisplayString(string)

获取资源化后的显示文本,通常需要在使用自定义资源文件时重写。

声明
public virtual string GetDisplayString(string str)
参数
类型 名称 描述
string str
返回值
类型 描述
string

GetDocProperties(PageScope, ListViewScope, LanguageScope)

获取在“导出文档”时,要显示在文档里的属性。

声明
public virtual List<Tuple<string, object>> GetDocProperties(PageScope pageScope, ListViewScope listViewScope, LanguageScope languageScope)
参数
类型 名称 描述
PageScope pageScope
ListViewScope listViewScope
GrapeCity.Forguncy.CellTypes.LanguageScope languageScope
返回值
类型 描述
System.Collections.Generic.List<T><Tuple<string, object>>

GetPluginResource(string)

获取插件资源。

声明
public string GetPluginResource(string name)
参数
类型 名称 描述
string name

资源名

返回值
类型 描述
string

返回插件资源。

GetRunTimeMethodVisible(string)

单元格类型插件的父类定义。

声明
public virtual bool GetRunTimeMethodVisible(string name)
参数
类型 名称 描述
string name
返回值
类型 描述
bool

OnPropertyChanged(string)

当属性变更时发出通知。

声明
public virtual void OnPropertyChanged(string propertyName = null)
参数
类型 名称 描述
string propertyName

发生变更的属性名称。

RenewRenderCacheId()

刷新RenderCacheId

声明
public void RenewRenderCacheId()

SetCellValue(object, string, bool, IForguncyFormatter)

通过单元格本身的值设值给单元格属性。

声明
public virtual void SetCellValue(object value, string text, bool haveFormula, IForguncyFormatter formatter)
参数
类型 名称 描述
object value

单元格的值

string text

单元格的文本

bool haveFormula

单元格是否有公式

IForguncyFormatter formatter

单元格的格式

ToString()

单元格类型的显示名。 如果不指定,默认与类型名一致。

声明
public override string ToString()
返回值
类型 描述
string
重载
object.ToString()
示例
public class MyPluginCellType : CellType
{
    public override string ToString()
    {
        /*return this.GetType().Name;  //默认*/
        return "我的插件";
    }
}

事件

PropertyChanged

内部使用。

声明
public event PropertyChangedEventHandler PropertyChanged
事件类型
类型 描述
System.ComponentModel.PropertyChangedEventHandler

实现

System.ComponentModel.INotifyPropertyChanged