Willkommen auf myCSharp.de! Anmelden | kostenlos registrieren
 | Suche | FAQ

Hauptmenü
myCSharp.de
» Startseite
» Forum
» Suche
» Regeln
» Wie poste ich richtig?

Mitglieder
» Liste / Suche
» Wer ist online?

Ressourcen
» FAQ
» Artikel
» C#-Snippets
» Jobbörse
» Microsoft Docs

Team
» Kontakt
» Cookies
» Spenden
» Datenschutz
» Impressum

  • »
  • Portal
  • |
  • Mitglieder
Beiträge von oehrle
Thema: Linq-Abfrage zur Rückgabe des immer ersten Datensatzes aus einer Gruppierung
Am im Forum: Datentechnologien

Da ich das mit LinQ nicht sofort hinbekommen habe, mache ich das auch gerade mit einer Schleife und prüfe die Zeichnungsnummer auf nur "einmaliges" vorkommen.
mit LinQ brauche ich bestimmt noch etwas zusätzliches für die Zwischenhaltung der einmalig vorkommenden Zeichnungsnummer (let oder so). Werde auch nochmal nachforschen, aber muss das zuerst so voran bringen.
Evtl. sieht aber jemand sofort die Lösung.

Thema: Möglichkeit einer Clientbenachrichtigung wenn Daten in SQL-Tabelle geändert wurden
Am im Forum: Datentechnologien

Danke für die Info.

Thema: Linq-Abfrage zur Rückgabe des immer ersten Datensatzes aus einer Gruppierung
Am im Forum: Datentechnologien

verwendetes Datenbanksystem: <sql2008>

Hallo, kann mir da mal jemand auf die Sprünge helfen? Habe eine Tabelle in eienm DataSat. Da sind Datensätze drin, die mehrmals die identische Zeichnungsnummer haben. Ich möchte jetzt aber alle Datensätze, in denen die Zeichnungsnummer nur einmal vorkommt, und dazu auch die andere(n) Spalte mitausgegeben bekommen. Hie rmal ein Versuch von mir (von vielen), aber ich bekomme nur zwei Datensätze, und die Auftragsnummer ist dazu noch identisch.


var ergebnis = dsNeueProgs.Tables[0].AsEnumerable().Select(t => new {Zeichnungsnummer = t["Zeichnungsnummer"], Artikelnummer = t["Auftragsnummer"]}).GroupBy(g => g.Zeichnungsnummer).FirstOrDefault().ToList();

            //// Datenausgabe in Window
            Window wnd = new Window();
            DataGrid dg = new DataGrid() {ItemsSource = ergebnis};
            wnd.Content = dg;
            wnd.Show();

Gibt es da eine elegante Lösung?

Thema: Möglichkeit einer Clientbenachrichtigung wenn Daten in SQL-Tabelle geändert wurden
Am im Forum: Datentechnologien

verwendetes Datenbanksystem: <SQL2008>
Hallo, in einer meiner Anwendung arbeiten mehrere Personen prallel. Gibt es eine Möglichkeit, das der SQLServer eine Benachrichtigung an alle Clients sendet, sobald sich Daten in der Tabelle ändern (SMO)? Oder wie macht man das am besten, da die Tabelle auch sehr umfangreich ist.

Thema: Fehlermeldung oder Validation bei DataGrid abschalten
Am im Forum: GUI: WPF und XAML

Nun, da bin ich wieder. Leider immer noch ohne Erfolg. Jetzt erklär ich nochmal mein Problem. Evtl. hat jemand das ähnliche Problem oder eine Erklärung dazu.
Zuallererst: Ich habe eine SQL-Tabelle aus einer Datenbank, die ich in ein DataSet einlese (sind auch noch andere dabei). Diese Daten kommen vorn irgendwoher, und werden mit meienr Applikation angezeigt und editiert.
Mein Code ist somit eigentlich alles in CodeBehind erstellt, außer das Window mit dem Aufbau der einzelnen Bereiche.
So, die Tabelle ist eingelesen, ich übergebe die Tabelle an das DataGrid.ItemsSource. Die Daten werden dargestellt. Jetzt kann der User in die Zellen vom DataGrid hüpfen und die Werte ändern, wenn nötig. Er kann auch die Zelle löschen, dann kommt aber der rote Rahmen um die Zelle und mann kann die Zelle nicht verlassen, bis irgendeine Zahl eingegeben wird (und das, obwohl in der SQL-Tabelle für alle Spalten DBNULL erlaubt ist. Ich habe es noch nicht kapiert, wie ich per Code auf diesen Fehler reagieren kann. Mache ich eine eigene Klasse, dann kann ich Callbacks erstellen, das macht doch aber hier gar keinen Sinn, sonst muss ich das ja für sämtliche Tabellen machen die ich einlese. Was muss oder was kann ich tun um den Fehler abzufangen und die Zelle leer lassen, wenn es der User so will??

Thema: Fehlermeldung oder Validation bei DataGrid abschalten
Am im Forum: GUI: WPF und XAML

Hallo, mit WPF fehlt mir noch sehr viel Erfahrung. Ich habe eine Sqltabelle an ein DataGrid gebunden. Mache das aber alles ausschließlich über Code Behind. Nun stelle ich die Daten in dem DataGrid da und der User kann die Daten editieren. Wenn man in einer Zelle löscht und kein Wert hineinschreibt, wird die Zelle rot umrahmt und kann nicht verlassen werden. Wie kann ich das abschalten?
Ich habe dazu noch keine gescheite Erklärung gefunden. Es gibt dazu die ValidationRules. Aber in den Beispielen ist immer XAML im Spiel, wo diese Dinge festgelegt werden. Wie mache ich das, wenn ich eine DB-Tabelle einfach nur an ein DataGrid hänge? Oder wie schalte ich die Fehlerüberwachung aus? Da habe ich eine Menge Probleme. Kann mir jemand einen Tipp geben oder helfen?

Thema: Controls mit .Invoke() / .Begininvoke() in Window aktualisieren lassen
Am im Forum: GUI: WPF und XAML

Problem war, das ich die Datensätze aus diversen Tabellen zusammengebaut habe, aber in dieser nicht explizit akutalisiert hatte.

Thema: Inhalt vom Fenster automatisch anpassen
Am im Forum: GUI: WPF und XAML

Hallo, ich würde das Fenster mit "Auto" oder "*" aufbauen. Das kann verzwickt sein, je nach de wie dein Window aussieht (Aufteilung). Die Schriftgröße würde ich von der Fenstergröße prozentual abhängig machen. Ich denke das du diese Anpassung der Controleigenschaften dann im code behind machen musst.

Thema: MessageBox verschwindet nicht bei WINXP (Application auf Win7 entwickelt)
Am im Forum: GUI: WPF und XAML

Ich weiss jetzt auf jeden Fall was die Ursache ist. Es kommt zuerst beim "Speichern" der Daten eine MessageBox, mit der man den Speichervorgang abbrechen kann. Nach dem Speichern kommt dann eine MessageBox, welche die Anzahl der geänderten Datensätze ausgibt. Jetzt war das Porblem, dass die erste MessageBox kleiner als die zweite war. Die erste wurde also durch die zweite verdeckt. Man hat dann bei der 2. MessageBox auc "OK" geklickt, die verschwindet aber die 1. MessageBox die verdeckt wurde, bleibt.
Nun, in Win7 und auf meinem alten WInXP Rechner mit Entwicklungsumgebung ist das alles kein Problem. Aber auf WinXp-rechnern bei den Usern bleibt dieser Fehler bestehen. Habe es erst mal so gelöst, das die Überdeckende MessageBox kleiner ist und die 1. dadurch nicht verdeckt wird, somit muss das System neu rendern. Wie kann ich das aber manuell anstoßen, das die Seite neu aufgbaut wird? Hatte das mal mit Invalidate() probiert, aber ohne Erfolg. Muss ich da mit OnRender() ran (wie mach ich das am besten)?

Thema: "." oder das "," dürfen in Regexpattern nicht vorkommen
Am im Forum: Rund um die Programmierung

Hallo, mein String kann 10 oder auch bis 25 Zeichen lang sein. Es muss nur ein Teilstring mit drei aufeinanderfolgenden Ziffern enthalten sein, davor darf aber kein "," oder "." stehen. Die drei Ziffern können auch gleich am Stringanfang stehen.

AD21UZ123FG2 ==> OK

AD21UZ.123FG2 ==> Nicht OK

Thema: "." oder das "," dürfen in Regexpattern nicht vorkommen
Am im Forum: Rund um die Programmierung

Hallo, breche mir gerade einen ab. Muss eine Prüfung vornehmen, an einem String, der 3 Zahlen haben darf. Aber vor den drei Zahlen darf kein Leerzeichen, kein "," und kein "." sein. Wie integriere ich das in das Pattern?

Regex regExp1 = new Regex(@"[\D^.^,]\d{3}");

Thema: Controls mit .Invoke() / .Begininvoke() in Window aktualisieren lassen
Am im Forum: GUI: WPF und XAML

danke für die Info.

Thema: Controls mit .Invoke() / .Begininvoke() in Window aktualisieren lassen
Am im Forum: GUI: WPF und XAML

Das Problem kommt wohl daher, da ich die Abarbeitung meiner Abarbeitung von Dateien kopieren usw nicht in einem eigenen Thread gestartet wurde. Mache ich das, dann werden die Controls auch aktualisiert.

Thema: Controls mit .Invoke() / .Begininvoke() in Window aktualisieren lassen
Am im Forum: GUI: WPF und XAML

Hallo, ich experimentiere im Moment mit meiner Applikation. Hier werden jede Mengen von Daten kopiert und in Db's geschrieben, wozu ich auch jede Menge an Ausgaben in der Form ausgebe. das Problem ist, das die Ausgabecontrols ja die aktuellen Daten nicht sofort angezeigt werden. Nun hatte ich zuerst mit dem BackgroundWorker Erfahrungen gesammelt. Nun habe ich aber auch gesehen, das man mit dem Dispatche.Invoke() oder Dispatcher.BeginInvoke() die Controls aktualisieren kann.
Ich habe eine ListBox in der ich den akuellen Status und weitere Meldungen ausgebe. Wenn ich da eine neue Meldung absetze, dan kann ich das doch so ausgeben:


Dispatcher.BeginInvoke(DispatcherPriority.Normal, new Action(() => lbx_Ablaufplan.Items.Insert(0, "\n\n\nNeue Dateien von Datenpool suchen und in Sammelpool kopieren ...\n")));

So wie ich das verstehe, kann ich für new Action() auch eine Delegatemethode einsetzen, oder?
Das hatte ich auch schon probiert. Das Problem ist, wenn ich das so mache werden meine COntrols nicht beschrieben, es werden keine Meldungen in der ListBox angezeigt.
Muss ich da doch noch einen Abfrage mit CheckAccess und Verify durchführen, wobei ich das so verstehe das man diese Abprüfung nur macht wenn die Aktualisierung aus einem anderen Thread aufgerufen wird?

Thema: MessageBox verschwindet nicht bei WINXP (Application auf Win7 entwickelt)
Am im Forum: GUI: WPF und XAML

Hallo, habe das Problem, dass bei meiner Applikation die MessageBox nach dem klicken auf den "Yes"-Button nicht verschwindet, wenn das Programm auf einem WinXP-Rechner installiert ist. Bei Win7 klappt es. Ich verwende Framework 4.0 Client. Das ist auch auf den Rechnern installiert. Nur bei meinem Win7 ist auch das große FW4.0 drauf. Kann ich irgendwie nach dem klicken von dem "Yes"-Button die Oberfläche neu rendern lassen, oder woran kann das liegen?

Thema: Window mit CodeBehind erstellen und Stackpanel oder Grid für Children einfügen
Am im Forum: GUI: WPF und XAML

Hallo, hatte doch gewußt ich hatte irgendwo etwas gesehen. Hat geklappt. Danke euch für die Hilfe, und hier für weitere die auf der Suche sind, ein Link:
http://msdn.microsoft.com/de-de/library/system.windows.controls.grid.aspx

Thema: Window mit CodeBehind erstellen und Stackpanel oder Grid für Children einfügen
Am im Forum: GUI: WPF und XAML

Hi, den Link hatte ich auch schon. Nun leider ist da ja gerade folgendes:


<Window x:Class=“WPFSample001.AddControls“

    xmlns=“http://schemas.microsoft.com/winfx/2006/xaml/presentation“

    xmlns:x=“http://schemas.microsoft.com/winfx/2006/xaml“

    Title=“AddControls“ Height=“114“ Width=“212“

    >

  <StackPanel Name=“splMain“>

    <Button Name=“btnAddMore“ Click=“btnAddMore_Click“>Add Another</Button>

  </StackPanel>

</Window>

Das wäre bei mir ja nicht der Fall, das sieht bei mir (wenn ich das mal so in XAML darstelle) so aus:

<Window x:Class=“WPFSample001.AddControls“

    xmlns=“http://schemas.microsoft.com/winfx/2006/xaml/presentation“

    xmlns:x=“http://schemas.microsoft.com/winfx/2006/xaml“

    Title=“AddControls“ Height=“114“ Width=“212“

    >
!--< Kein Stackpanel, kein Grid...   Wie füge ich solch ein Element im Code Behinde ein ?? />--! 

</Window>


Wir mein Problem jetzt klarer?

Im Code behind (Beispiel):

Window wnd = new Window();
DatGrid dg = new DataGrid();
dg.ItemsSource = tbl.AsDataView();

wnd.Children.Add(dg): // das geht ja nicht, weil im wnd kein Panel ist.


Versteht man mein Problem nun besser? Die ganzen Beispiele sind immer sehr XAML-lastig.

Thema: Window mit CodeBehind erstellen und Stackpanel oder Grid für Children einfügen
Am im Forum: GUI: WPF und XAML

Bist dir sicher? Was soll denn das miteinander zu tun haben, bzw. mit dem DataBindig?
Hatte das schonmal irgendwo gemacht, aber nicht notiert.

Ich will:
- per Code ein Window erstellen
- ich erstelle per Code ein DataGrid und übergebe Daten die angezeigt werden sollen
- ich will das DataGrid dem Window übergeben (per Code) *.Children.Add()

Leider hat das Window ja noch kein StackPanel oder Grid,wo ich das DataGrid rein schmeißen kann .

Thema: Window mit CodeBehind erstellen und Stackpanel oder Grid für Children einfügen
Am im Forum: GUI: WPF und XAML

Hallo, ich möchte dynamisch aus dem Code heraus ein Window erstellen, und dem dann DataGrids oder ähnliches zufügen. Wie mache ich das, da ich einer Window-Instanz kein Control zuweisen kann, da noch kein Grid oder Stackpanel im Window definiert ist. Wie mache ich da?

Thema: DataView-Daten filtern zur Weiterverabeitung mit Rückwirkung
Am im Forum: Datentechnologien

Hallo, danke für die Info. Ich verwende ja "WPF". Da habe ich auch die DataView von ADO verwendet. Da steig ich noch nicht richtig durch. Kann ich die verwenden, oder besser eine andere (ICollectionView usw ..)? Ich möchte das ja so haben, dass alle Controls auch in anderen Windows auf die Grunddaten des DataSet zugreifen, eine View davon benutzen und somit die Daten auch überall aktualisiert werden. Muss ich da nich irgendwo ein "PropertyChangedEvent" scharfschalten, oder funktioniert das von selbst? Da finde ich mich nicht ganz zurecht. Kann mir da jemand Aufschluss geben?

Thema: DataView-Daten filtern zur Weiterverabeitung mit Rückwirkung
Am im Forum: Datentechnologien

verwendetes Datenbanksystem: <sqlexpress2008>
Hallo, ich schildere mal mein Problem. Ich fahre aus drei Tabellen (SQL) eine gemeinsame Tabelle zusammen (LinQ).

Ich generiere aus der Tabelle sofort eine DataView, die ich an diverse DataGrids verteile (zzur Visualisierung der Daten). Dann muss ich aus einem der DataGrids, das nur einen Teil der Datensätze anzeigt weitere Datensätze suchen, die in der gemeinsamen Tabelle enthalten sind,aber halt in diesem einen Grid nicht dargestellt wegen der Filtereinstellung. Das Problem das ich habe: Ich will diese Untersuchung in der ich weitere Datensätze bekomme an ein weiteres DataGrid übergeben und dort diverse Änderungen in die Datensätze eingeben lassen (per Code, automatisiert). Dann müssen die Daten ja auch in allen anderen DataGrids oder Anzeigeelementen aktualisiert werden, da diese an der DataView hängen.

Mein Problem ist eben, das ich diese Datensätze, die ich untersuche, aus der gemeinsamen Tabelle hole und diese in eine separate Tabelle schreibe und eben "diese" an das DataGrid weitergebe. Somit haben aber meine Daten keinen Bezug zu der DataView, wodurch sich die Daten überall aktualisieren würden. Wie kann ich das am einfachsten machen, ohne alle Änderungen abzufangen und die Änderungen in sie Datensätze aintragen zu lassen?

Thema: DataTable aus untyp. DataSetTabelle mit ausgewählten Spalten erstellen
Am im Forum: Datentechnologien

Bei der Abfrage bekomme ich folgenden Fehlermeldung:

{System.ArgumentNullException: Value cannot be null.
Parameter name: source
at System.Data.DataTableExtensions.AsEnumerable(DataTable source)
at WpfDatenfinder.Form.Auftr...}

Also ich denke es hat damit zu tun, das in der query die Source, d.h. die eigentliche Datentabelle == null ist. Warum aber? Wie mache ich die Abfrage anders damit das passt? Eigentlich möchte 4 Spalten in eine neue Tabelle laufen lassen, habe aber zum testen erst mal nur ein Spalte verwendet.

Ich habe mir zum behelfen erst mal alle Spalten mit LinQ in eine Tabelle laufen lassen und dann die überflüssigen Spalten entfernt.
Kann ich einzlne Spalten überhaupt gleich per LinQ über eine Abfrage in eine Tabelle fahren?

Thema: DataTable aus untyp. DataSetTabelle mit ausgewählten Spalten erstellen
Am im Forum: Datentechnologien

verwendetes Datenbanksystem: <MS2008Express>

Hallo, was mache ich falsch?
In der Linq-Anleitung steht, es müßte so gehen. Aber wahrscheinlich ist das DataSet typisiert.


   //// geht
            IEnumerable<DataRow> query = (IEnumerable<DataRow>)(from o in DsAftVerwalt.Tables["Movdaten"].AsEnumerable()
                                                                where o["AGStatus"].ToString().Trim() == agStatus
                                                                select o);

   //// geht nicht
            IEnumerable<DataRow> query = ((IEnumerable<DataRow>)(from o in DsAftVerwalt.Tables["Movdaten"].AsEnumerable()
                                                              where o["AGStatus"].ToString().Trim() == agStatus
                                                              select new{Spalte1 = o[0]}));


  foreach (DataRow row in query)
            {

            }





Bei der Abfrage bekomme ich folgenden Fehlermeldung:

{System.ArgumentNullException: Value cannot be null.
Parameter name: source
at System.Data.DataTableExtensions.AsEnumerable(DataTable source)
at WpfDatenfinder.Form.Auftr...}

ALso ich denke es hat damit zu tun, das in der query die Source, d.h. die eigentliche Datentabelle == null ist. Warum aber? Wie mache ich die Abfrage anders damit das passt? Eigentlich möchte 4 Spalten in eine neue Tabelle laufen lassen, habe aber zum testen erst mal nur ein Spalte verwendet.

Habe mir mal den Eintrag angesehen.

DataTable mit Linq füllen


Funzt aber so nicht.
Was muss ich noch beachten?

Thema: DataGrid Rules verändern ?
Am im Forum: GUI: WPF und XAML

Habe das Problem, wenn ich aus einem DataGrid Daten lösche, ich eine Fehlermeldung bekomme (roter Kringel um die Zelle, Ausrufezeichen). Wie kann ich das umgehen? Habe eine Tabelle angebunden, aber die Struktur der Tabelle darf in allen SPalten DBNull sein. Wie kann ich diesen Fehler unrerbinden?

Thema: Zwei DataGrids über einen gemeinsamne Scrollbalken horizontal scrollen
Am im Forum: GUI: WPF und XAML

Hallo, geht das irgendwie? Ich habe zwar bisher eine Lösung, aber die ist unschön. Ich habe zwei übereinanderliegende Datagrids. das obere enthält die Daten, das untere die Struktur vom Datendatagrid (es dient als EInstellung für Filterkriterien). Nun haben aber die DataGrids 35 Spalten. Ich habe die beiden ersten Spalten eingeroren, damit man die Auftragsnummer immer noch sieht wenn man nach rechts scrollt. Aber beim unteren DataGrid bleiben die beiden Spalten nicht stehen. Es hängt daran, das ich die horizontale Position vom oberen DataGrid-Scrollbalken an einen eingebetteten ScrollViewer des untere DataGrids übergebe. Wie kann ich das anders machen? Habe schon viel gesucht, aber nichts gefunden, außer einen alten Eintrag im Forum von bernett auf CodeProject, aber die Seite kann nicht mehr geunden werden.
Hat jemand einen Lösungsansatz für mein Problem?

Thema: LinQ-Abfrage mit Distinct() auf eine Spalte von Datensätzen
Am im Forum: Datentechnologien

verwendetes Datenbanksystem: <sqlespress2008>
Hallo, eine Frage zur LinQ mit Distinct(). Gibt es überhaupt die Möglichkeit in einer Abfrage einer Datentabelle mit verschiednenen Spalten, das Ergebnis mit Distinct() auf nur eine Spalte festzulegen? Bei SQL geht das ja.
Hier mal meine Abfrage:


tblMvxMhnPln.Select("Maschine = '" + e.Row["Maschine"] + "' AND Maschinenplanung ≥ " + orgPositionBelegung, "Maschinenplanung", DataViewRowState.Unchanged).Select(x => x["Auftragsnr"]).Distinct( "Hier sollte die Spalte "Auftragsnummer" überwacht werden)

Vermutlich wird nichts geben, da muss ich mir halt eine Methode frickeln.

Thema: LinQ-Abfrage die Datensätze mit Nummer vergleicht und den Datensatz mit größtem Datumswert ausgibt
Am im Forum: Datentechnologien

erledigt

Thema: LinQ-Abfrage die Datensätze mit Nummer vergleicht und den Datensatz mit größtem Datumswert ausgibt
Am im Forum: Datentechnologien

Hallo, die Daten kommen aus eine gespeicherten Prozedur vom SQL-Server wo ich nicht dran komm (bis jetzt halt noch nicht).
Ich lade die Daten in ein DataSet. Habe die Sortierung vorgezogen, hilft aber nicht viel.

Sollte mal vielleicht doch PLinQ testen, habe mit dem aber noch nie gearbeitet.

Thema: LinQ-Abfrage die Datensätze mit Nummer vergleicht und den Datensatz mit größtem Datumswert ausgibt
Am im Forum: Datentechnologien

Hallo, danke. Das ic hda nicht selber drauf gekommen bin. Es geht nun, aber braucht ewig lange um die Daten zu aktualisieren.

Thema: LinQ-Abfrage die Datensätze mit Nummer vergleicht und den Datensatz mit größtem Datumswert ausgibt
Am im Forum: Datentechnologien

verwendetes Datenbanksystem: <sqlexpress 2008>

Hallo, fogendes Paoblem. Habe Daten in ein DataSet eingelesen.
EIne Tabelle muss ich noch eine BErechnung durchführen, wie lange der Datensatz schon liegt. In dieser Tabelle liegen Aufträge, mit ihren ganzen Arbeitgängen. das heißt: Der Auftrag mit der AUftragsnummer xxx ist z.B. 10 x drin, da es 10 Arbeitsgänge gibt (1. BEarbeitung auf Maschine A, 2. Bearbeitung auf Maschine B ...). Der Datensatz hat dann noch ein Meldedatum, wann er an welcher Maschine war. Nun sollte ich hier noch verstrichenen Tage berechnen, von heute bis zur letzten Bearbeitung der Auftragsnummer. Somit müßte ich jede Auftragsnummer durchlaufen und dann noch alle Arbeitsgänge dieser Auftragsnummer und das größte Datum suchen (ist nach Format yyyyMMdd abgelegt).

Wie mache ihc das in LinQ. Ich hoffe da auf mehr Performance, denn in dieser Tabelle sind 70000 Datensätze.

Ich habe hier mal ein Beispiel. Wenn ich das unten einblende, mit dem .Max()-Auswertung bekomme ich folgenden Fehler: "At least one object must implement IComparable."
Hier mal der Code:


//// Alle Auftragsnummern erstmal vereinzeln (Distinct, und Meldedatum muss ein Datum enthalten)
            var auftragsnummerListe = dataTable.AsEnumerable().OrderBy(order=>order["Auftragsnr"]).Where(x => x["Meldedatum"].ToString() != "0").Select(x => x["Auftragsnr"]).Distinct();

            for (int j = 0; j < auftragsnummerListe.Count(); j++)
            {
                //// Auftragsnummer in Variable speichern
                decimal auftragsNummer = Convert.ToDecimal(auftragsnummerListe.AsEnumerable().ToArray()[j]);

                //// Auftrag mit der Auftragsnummer suchen, welche den größten Datumswert hat. Wie Mache ich das?
                var auftrag = dataTable.AsEnumerable().Where(x => x.Field<decimal>("Auftragsnr") == auftragsNummer)
                    .Select(order => new
                                         {
                                             Auftragsnummer = order["Auftragsnr"],
                                             Arbeitsgang = order["Arbeitsgang"],
                                             Meldedatum = order["Meldedatum"]
                                         });        // .Max(c => new { c.Meldedatum }); //==> Wenn ich das einblende, kommt die Meldung "At least one object must implement IComparable."

            }

Kann mir da jemand helfen, wie ich das bei LinQ mit dem IComparable mache?