如何重新排序GridView中的列并重命名它们?

时间:2009-06-05 18:33:58

标签: asp.net gridview

当我使用GridView显示来自DB的行时,列显示没有顺序。像:

  

课程名称ID

我想按顺序显示它们:

  

ID名称课程

我该怎么做?

这是第一个piont。

第二点是我如何重新列出一列?

感谢。

6 个答案:

答案 0 :(得分:3)

最简单的解决方案是不使用

SELECT *

而是按照您想要的顺序指定列。

SELECT ID, Name, Class, Course FROM....

就重命名列而言,也可以在SQL中完成。

SELECT ID as A, Name as B, Class as C, Course as D FROM....

答案 1 :(得分:2)

您需要自己显式创建列,而不是让GridView为您生成它们。如果您这样做,您可以根据自己的喜好订购它们并重命名。

以下是一个示例(headertext属性允许您重命名列):

<asp:gridview id="foo" runat="server" autogeneratecolumns="false">
    <columns>
        <asp:boundfield datafield="ID" headertext="Identifier" />
        <asp:boundfield datafield="Name" />
        <asp:boundfield datafield="Class" />
        <asp:boundfield datafield="Course" />
    </columns> 
</asp:gridview>

答案 2 :(得分:1)

关闭“自动生成列”,并以您想要的任何顺序/格式指定列。

答案 3 :(得分:1)

首先在标记中将AutoGenerateColumns设置为FALSE。然后,您可以添加列并明确排序。

例如:

<asp:GridView ID="gv" runat="server" AutoGenerateColumns="False">
<Columns>
     <asp:BoundColumn DataField="ID" HeaderText="ID" />
.
.
. 

答案 4 :(得分:0)

如果要连接数据源,只需单击表单上的gridview箭头,然后单击 编辑列 ,然后单击进行排序向上或向下 箭头,在这些选项的右侧,您将看到boundfield属性。您可以将 HeaderText 更改为您想要的任何内容。

答案 5 :(得分:0)

在少数情况下,您无法将AutoGenerateColumns设置为false。

我有一个应用程序(ReleaseManager),我不提前知道SQL。因此,在站点设置期间,他们输入一个连接字符串和SQL,以从他们的错误跟踪数据库中列出他们的错误。我使用它来在运行时使用bug跟踪器中的行获取表。从那里我添加了一列复选框,以便他们可以选择错误跟踪项目以满足发布请求。

dtIssues.Columns.Add(new DataColumn("Include", typeof(Boolean)));
dtIssues.Columns["Include"].SetOrdinal(0);

所以我添加了一个布尔列,它作为一个复选框绑定,然后我将它设置为第一列。我的GridView将AutoGenerateColumns设置为“True”。

他们输入的SQL的要求是第一列必须是他们的bug跟踪表上的Id列(其余我不关心),我可以重命名他们给我的内容:

dtIssues.Columns[1].ColumnName = "ID";

所以这就是它的样子:

alt text
(来源:digitaltools.com