0

在使用 LINQ to SQL 设计器设计 LINQ 类时,我有时需要对类重新排序,以使 DataGridView 中的结果列以不同的顺序出现。不幸的是,这似乎非常困难。您需要剪切和粘贴属性,或删除它们并手动重新插入它们。

知道您可以很容易地在 DataGridView 中重新排序列,但是这会导致大量的硬编码,我希望设计器与网格相匹配。

有谁知道实现这一目标的更简单方法,或者剪切/粘贴唯一可用的方法?

我尝试手动编辑 .designer.cs 文件,但在那里重新排序属性似乎没有做任何事情!

编辑:为了清楚起见 - 我想重新排序 LINQ to SQL 设计器中的内容,而不是表中的内容。我在订购时没有出错,需要恢复到原始表格布局;相反,我有一个表,我想在 Visual Studio 中拥有与在 SQL Server 中不同的排序。

4

3 回答 3

1

使用 Linq-to-Sql,您可以通过以下方式使 DataGridView 中的列与原始表中的列不同:

  1. 在您的 Linq 查询中,按照您想要的顺序提取您想要的列,并将它们存储在一个 var 中。然后自动生成的列应该在 DataGridView 中按该顺序显示它们
  2. 在 DataGridView 中使用模板列
  3. 不要在 Linq-to-Sql 设计图面上使用拖放来创建实体。相反,手动创建它们并使用表和列属性将它们与数据库表相关联

据我所知,设计器本身没有拖放列重新排序

于 2008-09-01T18:34:08.193 回答
1

在您喜欢的 XML 编辑器中打开 [DataClasses].dbml 文件,然后重新排序表的 [Column] 元素。在 Visual Studio 中保存并重新打开(或重新加载)设计器。设计器中显示的列的顺序将被固定。

于 2016-02-05T16:39:56.363 回答
0

如果您处于对数据库中的列进行重新排序的场景中,并且您现在希望将这个新顺序反映在设计器中,我认为您必须从设计器中删除表,然后再将其放入。或者,如果您使用SqlMetal生成 Linq-to-Sql 类,请在数据库上重新运行它并使用新生成的文件。

于 2008-09-01T12:56:44.667 回答