【问题标题】:ASP.NET: Programatically DataBind a GridView controlASP.NET:以编程方式 DataBind 一个 GridView 控件
【发布时间】:2011-04-17 21:26:29
【问题描述】:

我的表单上有一个空白/未绑定的 GridView 控件,我将它绑定在后面的代码中,如下所示:

GridView1.DataSource = _dataSet
DataBind()

运行此代码会使用_dataSet 拥有的所有列和数据填充我的GridView 控件。我只想显示一些列,更改列名,并重新排列其中一些列(我希望实际 sql 数据库表中的最后一列首先显示在我的 GridView 中)。

谁能告诉我如何做到这一点?

【问题讨论】:

    标签: c# asp.net vb.net


    【解决方案1】:

    将 GridView 的 AutoGenerateColumns 属性设置为 false 并手动创建列。这将是最简单的方法。

    另一种方法是将 AutoGenerateColums 属性也设置为 false,但这一次,将列附加到 GridView 的列属性。使用提供的 .Clear 和 Add 方法

    【讨论】:

    • 能否提供第二个解决方案的代码示例?我不知道如何将列附加到 Columns 属性,因为该属性是只读的;除非我误解了你。谢谢。
    【解决方案2】:

    首先,在您的 GridView 标记中,您可以更改标题文本:

    <asp:BoundField DataField="SOME_COLUMN" HeaderText="Comment" SortExpression="SOME_COLUMN" />
    

    确保将 AutoGenerateColumns 设置为 false。

    其次,您可以使用DataSource.FilterExpression = "col1 = 'this'" 进行过滤,如果您的数据集是由 SqlDataSource 或类似内容填充的。

    【讨论】:

      【解决方案3】:

      我写了一篇文章,重点介绍在 GridView 中创建列的不同方法。它还讨论了如何更改列的名称等。我希望它对那些刚接触 GridView 的人有用:http://www.tomot.de/en-us/article/7/asp.net/gridview-overview-of-different-ways-to-bind-data-to-columns

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2010-09-16
        • 1970-01-01
        • 2011-06-15
        • 2012-06-14
        • 2011-03-03
        • 2013-04-23
        相关资源
        最近更新 更多