【问题标题】:Change Order of columns更改列的顺序
【发布时间】:2009-05-26 05:54:10
【问题描述】:

我正在使用网格视图。我有 4 个自动生成的列和 1 个由我自己生成的列。现在首先显示我生成的列,然后显示自动生成的列。 我想先显示自动生成的列,然后再显示我生成的列。

【问题讨论】:

    标签: gridview auto-generate autogeneratecolumn


    【解决方案1】:

    为此,您需要知道 datafield(您要绑定的数据项)并使用模板或 boundcolumns 来完成此操作,例如:

    自动生成列网格

    <asp:GridView id="gv" runat="server" AutoGenerateColumns="True">
    </asp:GridView>
    

    手动生成柱状网格

    <asp:GridView ID="gv" runat="server" AutoGenerateColumns="false">
        <Columns>
            <asp:BoundField HeaderText="My First Column" DataField="myField1" />
            <asp:BoundField HeaderText="My Second Column" DataField="myField2" />
            <asp:BoundField HeaderText="My Third Column" DataField="myField3" />
    
            <asp:TemplateField HeaderText="My Fourth Column">
                <ItemTemplate>
                    <asp:Label ID="lbl" runat="server" Text='<%# Eval("myField4") %>' />
                </ItemTemplate>
            </asp:TemplateField>
        </Columns>
    </asp:GridView>
    

    您可以使用 BoundFieldTemplateField,使用模板您可以做更多的事情,创建下拉菜单而不是标签等... BoundField 输出将始终是标签,您只能使用 .NET 命名法来格式化字符串值,例如 {0:d}

    您可以使用更多预定义的模板,例如复选框、按钮、超链接、命令和图像。

    【讨论】:

    • 我必须用户 AutoGenerateColumns="true" 不是假的。我需要自动生成。但也想手动生成。
    • 你不能同时拥有这两者......如果你设置为 AutoGenerateColumns="true" 除了你的对象实体之外,对列没有任何控制
    猜你喜欢
    • 2011-04-09
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2013-09-22
    • 2012-04-18
    • 2017-12-30
    • 1970-01-01
    相关资源
    最近更新 更多