none
Fehler beim Erstellen einer zusätzlichen Spalte in der DataTable mit Einfügen von Werten einer anderen Spalte RRS feed

  • Frage

  • Hallo,

    einer DataTable füge ich eine weitere Spalte hinzu, in welche ich Werte aus zwei anderen Spalten einfüge:

    vereinfachte Variante:  

    table.Columns.Add("name", typeof(string), "firstname + ' ' + lastname");

    Das funktioniert bestens. Wenn allerdings einer der Spaltenname, derssen Werte ausgelesen werden soll, einen Zusatz [V] enthält (ist so vorgegeben), dann kommt die Fehlermeldung:      Syntax Error: Missing operand after '[V]' operator.

    table.Columns.Add("name", typeof(string), "firstname [V] + ' ' + lastname");

    Offensichtlich werden die eckigen Klammern als Sonderzeichen erkannt.

    Die eckigen Klammern sind vorgegeben. Was muss ich ändern, damit dies funktioniert?

    Alexander

    Freitag, 15. April 2011 14:48

Antworten

Alle Antworten

  • Hallo Alexander,

    Du mußt die eckige Klammer mit einem Escape-Zeichen (Backslash) versehen:

    DataTable table = new DataTable();
    table.Columns.Add("lastname");
    table.Columns.Add("firstname [V]");
    table.Columns.Add("name", typeof(string), @"[firstname [V\]] + ' ' + lastname");
    


    DataColumn.Expression-Eigenschaft:
    http://msdn.microsoft.com/de-de/library/system.data.datacolumn.expression(v=VS.100).aspx

    Gruß
    Marcel


    • Als Antwort vorgeschlagen Frank Dzaebel Freitag, 15. April 2011 15:58
    • Als Antwort markiert AlexanderRi Samstag, 16. April 2011 19:32
    Freitag, 15. April 2011 15:22
    Moderator
  • Hallo Alexander,

    Marcel hat schon die Antwort gegeben.
    Nur noch eine kurze Anmerkung dazu von mir.

    Man wählt normal keine solchen Bezeichnungen für die Spalten.

    Wenn man eine andere Form als Anzeige benötigt, ändert man diese in HeaderText-Eigenschaften, oder DisplayName-Eigenschaften der jeweiligen Controls, die das anzeigen. Die eckigen Klammern haben ja eine Sonderbedeutung, sodass überhaupt erst (zum Beispiel) Leerzeichen etwa möglich sind in Spaltennamen.


    ciao Frank
    Freitag, 15. April 2011 16:06