Frage

Beim Entwerfen von LINQ-Klassen mit dem LINQ to SQL-Designer musste ich manchmal die Klassen neu anordnen, damit die resultierenden Spalten in einer DataGridView in einer anderen Reihenfolge angezeigt werden.Leider scheint dies äußerst schwierig zu sein;Sie müssen Eigenschaften ausschneiden und einfügen oder sie löschen und manuell erneut einfügen.

ICH wissen Sie können Spalten in einer DataGridView relativ einfach neu anordnen, allerdings würde das zu viel Hardcodierung führen und ich möchte, dass der Designer mit dem Raster übereinstimmt.

Kennt jemand eine einfachere Möglichkeit, dies zu erreichen, oder ist Ausschneiden/Einfügen die einzig verfügbare Methode?

Ich habe versucht, die Datei .designer.cs manuell zu bearbeiten, aber die Neuordnung der Eigenschaften dort scheint nichts zu bewirken!

Bearbeiten: Nur um es klarzustellen: Ich möchte die Inhalte im LINQ to SQL-Designer neu anordnen, nicht die Inhalte in der Tabelle.Ich habe bei der Bestellung keinen Fehler gemacht, der eine Wiederherstellung des ursprünglichen Tabellenlayouts erforderlich gemacht hätte.Vielmehr habe ich eine Tabelle, die in Visual Studio eine andere Reihenfolge haben soll als in SQL Server.

War es hilfreich?

Lösung

Mithilfe von Linq-to-Sql können Sie Spalten in der DataGridView anders als in der Originaltabelle anzeigen lassen, indem Sie:

  1. Extrahieren Sie in Ihrer Linq-Abfrage die gewünschten Spalten in der gewünschten Reihenfolge und speichern Sie sie in einer Variablen.Dann sollten die automatisch generierten Spalten sie in dieser Reihenfolge in der DataGridView anzeigen
  2. Verwenden Sie Vorlagenspalten in Ihrem DataGridView
  3. Verwenden Sie zum Erstellen Ihrer Entitäten nicht Drag-and-Drop auf der Linq-to-SQL-Entwurfsoberfläche.Erstellen Sie sie stattdessen manuell und verknüpfen Sie sie mithilfe von Tabellen- und Spalteneigenschaften mit der Datenbanktabelle

Soweit ich weiß, gibt es im Designer selbst keine Möglichkeit, die Spalten per Drag-and-Drop neu anzuordnen

Andere Tipps

Öffnen Sie die Datei [DataClasses].dbml in Ihrem bevorzugten XML-Editor und ordnen Sie die [Column]-Elemente für die Tabelle neu an.Speichern Sie den Designer und öffnen (oder laden) Sie ihn erneut in Visual Studio.Die Reihenfolge der im Designer angezeigten Spalten wird festgelegt.

Wenn Sie sich in einem Szenario befinden, in dem Sie die Spalten in der Datenbank neu angeordnet haben und Sie nun möchten, dass diese neue Reihenfolge im Designer widergespiegelt wird, müssen Sie meines Erachtens die Tabelle aus dem Designer löschen und sie dann erneut einfügen.Oder wenn Sie verwenden SqlMetal Um Ihre Linq-to-SQL-Klassen zu generieren, führen Sie es erneut in Ihrer Datenbank aus und verwenden Sie die neu generierte Datei.

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top