【问题标题】:Gridview Autosort by column on button click or bind c#Gridview在按钮单击或绑定时按列自动排序c#
【发布时间】:2018-03-29 06:34:41
【问题描述】:

有一个有趣的问题,我很想提出一些想法。我有一个显示某个工作中心下的工作的 Gridview。 Gridview 可以像我们想要的那样很好地工作,但是在保存数据后,我们希望它通过 SQ # 绑定和重新排序。看起来很简单,但是第 1 列是来自 SQL 的值,其余列来自 AS400,因此不能只按顺序进行排序,因为它们是两个不同的服务器和两个不同的数据库,所以尝试这样做:

summGridView.Sort(summGridView.Columns[1], SortDirection.Ascending);

这将在 Windows 窗体中工作,但我在 Web 窗体中执行此操作。说无法从数据字段转换为字符串,因此尝试添加 ToString() 并给出以下错误:

索引超出范围。必须为非负数且小于集合的大小。

以下是我保存数据以按 SQ #.. 排序后想要的截图?

【问题讨论】:

  • 在绑定到GridView之前需要对源数据进行排序。直接在 SQL 中,对 DataTable 进行排序或使用 Linq 对 List 进行 OrderBy。
  • 你能拿一个 Gridview 并在 LINQ 中做一个排序吗?
  • 不,它必须是源数据。
  • 嗯。在我在 gridview 中执行 foreach 行之前,我不会添加该 SQ # 字段,这样我就可以使用 order # 从 SQL 获取该 SQ#,并使用 AS400 的 Oper Seq ... 这样就行不通了。
  • @VDWWD 我正在重做我的声明,然后在我的 gridview 上使用 foreach 将其更改为我的数据表行上的 foreach ......在我能够使用此 row.Cells[2 ].Text 从该行获取数据...但是我尝试 row.ItemArray[2].ToString() 从该行获取数据,但它不起作用。你知道怎么做吗?

标签: c# asp.net sorting gridview


【解决方案1】:

我最初是在 Gridview 中做一个 foreach 来获取 SQL 值。在与同事交谈后,我们决定尝试将所有内容拉入数据表 foreach 然后执行 dt.DefaultView.Sort = "SQ #" 然后对所有内容进行排序,然后我们将其推送到 gridview。现在效果很好。

【讨论】:

    猜你喜欢
    • 2015-05-26
    • 1970-01-01
    • 2018-01-29
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2015-09-05
    • 2019-07-25
    相关资源
    最近更新 更多