【问题标题】:What is the best way to make a listobject binded with datatable使列表对象与数据表绑定的最佳方法是什么
【发布时间】:2015-08-16 11:04:32
【问题描述】:

提前,对不起我的英语。 我的问题是关于 ListObjectDataTable 与 C# for Excel。过去我经常使用 Excel VBA,我了解ListObject 的概念。我曾经使用 C#,尤其是在 ASP.NET 上下文中,我可以很容易地弄清楚 DataTable 对象的实用性。 就像我想的那样,DataTableListobject 可以通过做它们的用途来协同工作: ListObject 将用作显示信息的一种方式(但也具有一些允许对数据进行一些花哨操作的功能)。 DataTable 他是一个提供完整操作的数据容器,其作用类似于观察者(如 DataGridView)可以观察以更新其数据的对象。 用这些行:

fooListObject.AutoSetDataBoundColumnHeaders = true;
fooListObject.SetDataBinding(fooDataTable);

可以通过(添加行、更新单元格等)使用 ListObjectDataTable 标题名称并利用 DataTable 的事件回调(在更改时执行 SQL),但似乎相反也是可能的。

在我的应用程序中,我有一个链接到 .dbml (LINQ to SQL) 对象的DataTable。我还为那个DataTable注册了一个DataRowChangeEventArgs事件。

我想知道调用ListObjectDataTable 以使用最新的SQL 数据更新模型的最佳方法。我也想知道每个人应该怎么做。现在,如果我删除了我不应该在 Excel 视图中看到的数据库中的一行,我仍然会看到它。

你能告诉我更多关于ListObjectDataTable之间的交互吗?一些有用的方法?

【问题讨论】:

  • 我已经能够弄清楚一些事情,但我不得不忘记 LINQ to SQL。我没有使用System.Data.Linq.DataContext 对象来填充我的DataTable,而是使用存储在SqlDataReader 中的纯SQL 查询,例如myDataTable.Load(mySQLDataReader)。因此,我可以使用fooListObject.SetDataBinding(myDataTable); 处理新数据,并大量使用DataRowChangeEventArgs 事件。

标签: c# excel datatable listobject


【解决方案1】:

也许您正在寻找类似ListObject.SetDataBinding 方法的东西。

检查这个例子:https://msdn.microsoft.com/en-us/library/c5f64c2x.aspx

【讨论】:

  • 嗨,我已经使用了SetDataBinding 方法。我真正期待的是一种更新数据库模型的方法,以便能够在我的ListObject 中看到我的数据更新
  • 你试过SqlBulkCopy.WriteToServer方法吗?在这里查看:msdn.microsoft.com/en-us/library/ex21zs8x%28v=vs.110%29.aspx
  • 根据我的阅读,它可以工作,但就像用大锤敲碎坚果一样;有时它不会只破解坚果!实际上,这个例子显示了我正在寻找的相反。我不想写入服务器,我想要来自服务器的新数据。
猜你喜欢
  • 2015-01-09
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2010-10-11
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多