2008-09-01 50 views
0

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

知道你可以在DataGridView中很容易地对列重新排序,但是这会导致很多硬编码,我希望设计器匹配到网格。

有没有人知道任何更简单的方法来实现这一目标或正在剪切/粘贴唯一可用的方法?

我试着手动编辑.designer.cs文件,但重新排序属性没有出现任何事情!

编辑:只是为了说清楚 - 我想重新排序LINQ到SQL设计器的内容,而不是表格中的内容。在订购需要返回到原始表格布局时,我没有犯过错误;而是我有一张表,我想在Visual Studio中拥有与SQL Server中不同的顺序。

回答

1

使用LINQ到SQL,你可以在DataGridView中列的出现比原始表不同:

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

据我所知,目前在设计师没有拖和拖放列重新排序本身

0

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

+0

如何删除+再次放入帮助我重新命令列?什么是SqlMetal? – ljs 2008-09-01 12:58:46

1

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