2009-06-11 12 views
1

der folgende CodeDataColumn.Expression Strom

Dim dc = New DataColumn(name, GetType(Double), "[col1]^[col2]") 

die folgende Fehlermeldung erzeugt:

The expression contains unsupported operator '^'. 

Ist das richtig, ist die Macht Operand nicht in Datacolumn Ausdrücke unterstützen ???

Wer hat eine Idee, wie ich das schreiben würde?

Antwort

1

Ja. Es wird nicht unterstützt.

Sie könnten RowChanging Ereignis von DataTable verwenden, um den Wert der neuen Spalte mit C# festzulegen.

+2

Yup, ich habe bereits ein manuelles Update implementiert, aber das fühlt sich sicher wie ein Hack für mich an. Auch auf kleinen Tabellen ist es in Ordnung, aber das Aktualisieren von 100000+ Datensätzen hat einen großen Erfolg ... – Graham

+0

Die Verwendung des RowChanging-Ereignisses bewirkt, dass eine System.Data.InRowChangingEventException ausgelöst wird. Verwenden Sie stattdessen RowChanged und ändern Sie es nur bei Bedarf (oder Sie haben einen Stapelüberlauf, wenn es sich selbst rekursiv aufruft). –