2008-09-01 1 views
0

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 die Eigenschaften ausschneiden und einfügen oder sie löschen und manuell neu einfügen.Wie können Sie Spalten in LINQ to SQL Designer leicht umordnen?

I wissen Sie können Spalten relativ leicht in einem DataGridView neu anordnen, jedoch würde dies zu einer Menge Hardcoding führen und ich möchte, dass der Designer mit dem Raster übereinstimmt.

Kennt jemand einen einfacheren Weg dies zu erreichen oder schneidet/klebt er die einzige verfügbare Methode?

Ich habe versucht, die .designer.cs-Datei manuell zu bearbeiten, aber die Neuanordnung der Eigenschaften scheint nichts zu tun!

Bearbeiten: Nur um es klar zu machen - Ich möchte neu anordnen, was in der LINQ zu SQL-Designer ist, nicht was in der Tabelle ist. Ich habe keinen Fehler bei der Bestellung gemacht, die eine Rückkehr zum ursprünglichen Tabellenlayout erfordert; eher habe ich eine Tabelle, die eine andere Reihenfolge in Visual Studio als in SQL Server besitzen soll.

Antwort

1

Mit Linq-to-SQL können Sie Spalten in der Datagridview haben scheinen anders als in der ursprünglichen Tabelle von:

  1. In Ihrer Linq-Abfrage, extrahieren Sie die Spalten, die Sie in der Reihenfolge, als Sie wollen wollen und speichern sie in einer var. Dann werden die Spalten, um sie autogenerate in dieser Reihenfolge in der Datagridview
  2. Vorlage verwenden Spalten in der Datagridview
  3. Verwenden Sie keine Drag-and-Drop auf der Linq-to-Sql Design-Oberfläche zeigen sollten Ihre Einheiten zu erstellen. Vielmehr sie von Hand erstellen und sie mit der Datenbanktabelle verknüpfen mit Tabellen- und Spalteneigenschaften

Soweit ich weiß, gibt es keine Drag-and-Drop-Spalte Neuordnungs im Designer selbst

0

Wenn Sie in dem Szenario sind, in dem Sie die Spalten in der Datenbank neu angeordnet haben und diese neue Reihenfolge nun im Designer angezeigt werden soll, müssen Sie die Tabelle aus dem Designer löschen und dann einfügen es ist wieder da. Oder wenn Sie SqlMetal verwenden, um Ihre Linq-zu-Sql-Klassen zu generieren, führen Sie es in Ihrer Datenbank erneut aus und verwenden Sie die neu generierte Datei.

+0

Wie würde das Löschen + Wiedereinsetzen mir helfen, Spalten neu zu ordnen? ... Was ist SqlMetal? – ljs

+0

Sorry, vielleicht habe ich die Frage falsch angegeben - ich möchte das * ursprüngliche Tabellenlayout * neu anordnen, so dass es in einer anderen Reihenfolge im DataGridView erscheint als in der Tabelle. – ljs

1

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