3

我想改变的行为,DataColumn.Expression以便当我写:

DataColumn.Expression = "MyMethod(Price)"

它将调用 MyMethod,将价格列中的值传递给它并显示评估值。

我怎样才能做到这一点?

4

2 回答 2

4

不可能。Expression 属性后面的表达式解析器简单且不可扩展。进行任意函数调用不是它的能力之一。有几种方法可以解决这个问题,尤其是那些不需要昂贵的反射查找的方法。以 DataTable.RowChanged 事件为例。

于 2009-11-10T19:50:12.160 回答
1

解决此问题的一种方法是使您的函数成为数据库和电子表格中的计算字段。可以制作高级计算字段。您需要将函数重写为表达式,然后使用 [Price] 来引用源列。据我了解你的问题,它可以做你想做的事。可以在此处找到表达式的语法。

我知道这是对该问题的较晚答案,但它可能会帮助其他人研究如何做到这一点。

于 2010-12-10T02:40:05.777 回答