我想改變DataColumn.Expression
行爲,這樣當我寫:自定義DataColumn.Expression處理在C#
DataColumn.Expression = "MyMethod(Price)"
它會調用的MyMethod,從價格塔送入它傳遞價值,並顯示評估值。
我該如何做到這一點?
我想改變DataColumn.Expression
行爲,這樣當我寫:自定義DataColumn.Expression處理在C#
DataColumn.Expression = "MyMethod(Price)"
它會調用的MyMethod,從價格塔送入它傳遞價值,並顯示評估值。
我該如何做到這一點?
不可能。 Expression屬性後面的表達式解析器很簡單,不可擴展。進行任意函數調用不是它的一個功能。有幾種方法可以解決這個問題,特別是那些不需要昂貴的反射查找的方法。例如,考慮DataTable.RowChanged事件。
解決這個問題的方法是使您的函數成爲數據庫和spredsheets中計算的字段。可以進行高級計算字段。您需要將函數重寫爲表達式,然後使用[Price]來引用源列。根據我的理解你的問題,它可以做你想做的事情。 可以找到表達式的語法here。
我知道這是一個較遲的問題的答案,但它可能有助於其他人查看如何做到這一點。