[]
依赖单元格接口,主要用于公式重新计算和刷新逻辑。 例如,查询条件中引用了页面单元格的值,一旦单元格值发生变化,需要重新查询刷新一些数据或UI; 或者,菜单项中的通知依赖了单元格的值,一旦单元格发生变化,需要重新计算菜单项的通知项。
public interface IDependenceCells
public class ForguncyMenuCellType : CellType, IDependenceCells
{
public List<ItemInfo> Items { get; set; }
public IEnumerable<object> EnumDependenceCells(IBuilderContext context)
{
return this.EnumDependenceCells(this.Items, context);
}
private IEnumerable<object> EnumDependenceCells(List<ItemInfo> items, IBuilderContext context)
{
foreach (var item in items)
{
if(item.Notification != null)
{
var cells = context.EnumDependenceCellsFromFormula(item.Notification);
foreach(var cell in cells)
{
yield return cell;
}
}
if(item.SubItems != null)
{
foreach(var cell in EnumDependenceCells(item.SubItems, context))
{
yield return cell;
}
}
}
}
}
public class ItemInfo
{
public string Text { get; set; }
public object Notification { get; set; }
public List<ItemInfo> SubItems { get; set; }
}
返回插件中所引用的单元格列表。
IEnumerable<object> EnumDependenceCells(IBuilderContext context)
类型 | 名称 | 描述 |
---|---|---|
IBuilderContext | context | 上下文信息。 |
类型 | 描述 |
---|---|
System.Collections.Generic.IEnumerable<T><object> | 返回插件中引用的单元格列表。 |