gpt4 book ai didi

c# - 如何在 Excel 中的 ListObject 绑定(bind)中触发更新?

转载 作者:行者123 更新时间:2023-12-04 20:56:59 25 4
gpt4 key购买 nike

我有一个 ListObject绑定(bind)到 DataSetHow to: Add ListObject Controls to Worksheets 中所述.我想在输入每一行时计算某些列值。

例子:

  • 使用为 A1:D2 定义的表和 A2 中的光标
  • 在 A2
  • 中键入一个值
  • 点击标签
  • 期望的行为:行在数据集中更新,我 can detect the change并更新其他列实际行为:直到光标进入另一行才更新行

  • 如何使表更新 DataSet当前单元格失去焦点?

    最佳答案

    您可以使用 SheetTableUpdate事件以捕获列表对象中的更改。

    public partial class ThisAddIn
    {
    public static Excel.Application e_application;

    private void ThisAddIn_Startup(object sender, System.EventArgs e)
    {
    e_application = this.Application;
    e_application.SheetTableUpdate += new Excel.AppEvents_SheetTableUpdateEventHandler(e_Application_SheetTableUpdate_Event);
    }

    private void e_Application_SheetTableUpdate_Event(object sender, Excel.TableObject target)
    {
    //--sender object refers to active sheet and must be cast as Worksheet before use
    //Update your dataset here
    }

    private void ThisAddIn_Shutdown(object sender, System.EventArgs e)
    {
    e_application.SheetTableUpdate -= new Excel.AppEvents_SheetTableUpdateEventHandler(e_Application_SheetTableUpdate_Event);
    e_application = null;
    }

    protected override Microsoft.Office.Core.IRibbonExtensibility CreateRibbonExtensibilityObject()
    {
    return new Ribbon();
    }
    }

    您可以引用 ActiveCell通过使用以下代码。
    (Excel.Range)Application.ActiveCell;

    关于c# - 如何在 Excel 中的 ListObject 绑定(bind)中触发更新?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/45807992/

    25 4 0
    Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
    广告合作:1813099741@qq.com 6ren.com