[]
        
(Showing Draft Content)

GrapeCity.Forguncy.Plugin.IReferenceTable

接口 IReferenceTable

如果插件中引用了数据表名或者字段名,一旦数据表或字段重命名后,插件中的相关属性的值就期望被同步;

这种情况下就需要实现这个接口,而且,当查找数据表或字段的引用时,插件中的相关属性也会被查找出来。

命名空间: GrapeCity.Forguncy.Plugin
程序集: GrapeCity.Forguncy.Plugin.dll
语法
public interface IReferenceTable
示例
public class ListCellType : CellType, IReferenceTable
{
    public string TableName { get; set; }

    public string TextColumn { get; set; }

    public string ValueColumn { get; set; }

    public  IEnumerable<LocatedObject<TableCheckInfo>> GetTableInfo(LocationIndicator location)
    {
        var list = new List<LocatedObject<TableCheckInfo>>();

        TableCheckInfo info = new TableCheckInfo(TableName);
        var columns = (new List<string>() { ValueColumn, TextColumn }).Distinct();
        foreach (var col in columns)
        {
            info.AddColumns(col);
        }

        var newLocation = location.AppendProperty("ListCellType");

        list.Add(new LocatedObject<TableCheckInfo>(info, newLocation));

        return list;
    }

    public void RenameTableColumnName(string tableName, string oldName, string newName)
    {
        if (string.Equals(this.TableName, tableName))
        {
            if (oldName == this.ValueColumn)
            {
                this.ValueColumn = newName;            
            }
            if (oldName == this.TextColumn)
            {
                this.TextColumn = newName;            
            }
        }
    }

    public void RenameTableName(string oldName, string newName)
    {
        if(string.Equals(this.TableName, oldName))
        {
            this.TableName = newName;
        }
    }
}

方法

GetTableInfo(LocationIndicator)

返回插件中所有引用数据表和字段的信息。

声明
IEnumerable<LocatedObject<TableCheckInfo>> GetTableInfo(LocationIndicator location)
参数
类型 名称 描述
LocationIndicator location

原有坐标定位器。

返回值
类型 描述
System.Collections.Generic.IEnumerable<T><LocatedObject<TableCheckInfo>>

返回插件中所有引用数据表和字段的信息。

RenameTableColumnName(string, string, string)

一旦数据表中字段被重命名时会调用该函数,所以需实现该接口重命名插件中使用到的相关字段名。

声明
void RenameTableColumnName(string tableName, string oldName, string newName)
参数
类型 名称 描述
string tableName

数据表名。

string oldName

重命名之前的字段名。

string newName

重命名之后的字段名。

RenameTableName(string, string)

一旦数据表被重命名时会调用该函数,所以需实现该接口重命名插件中使用到的相关表名。

声明
void RenameTableName(string oldName, string newName)
参数
类型 名称 描述
string oldName

重命名之前的数据表名。

string newName

重命名之后的数据表名。