![](/img/trans.png)
[英]How to create a lookup column when using data binding with Excel listobject
[英]How to trigger update in ListObject binding in Excel?
我將ListObject
綁定到DataSet
,如如何:將 ListObject 控件添加到工作表中所述。 我想在輸入每一行時計算某些列值。
示例:
如何使我的表更新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;
我認為這是更好地利用ListObject.Change事件,而不是WorkSheet.Change事件,因為參數告訴你哪些范圍內的ListObject的變化里面,這樣就避免了從紙張的其余所有其他變化的事件:
private void ListObject_Change_event(targetRange As Range, changedRanges As ListRanges)
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.