ASP.NET 列排序时 GridView BackColor 更新
ASP.NET GridView BackColor update on column sort
我有一个 GridView
绑定到 SQL 数据库中的一个 table,以便它在登录我的网站后加载到页面上。
首次加载带有 GridView
的页面时。我遍历 table 上的行并根据它的 "Status" 列更改每一行的 BackColor
(即,如果它是 "Incomplete" 则将其设为红色或绿色,如果它是 "Complete").当您按另一列对 table 进行排序时,BackColor
就会消失。
我尝试 运行 相同的函数遍历行并更改 GridView1_Sorted
事件中的所有 BackColors
,但 table 仍然没有任何颜色变化.使用 GridView1_Load
事件也是如此。但是,添加一个按钮并将该按钮的点击绑定到相同的格式代码可以让我在排序后应用 BackColors
。
这告诉我,我可能误解了 Sorted
事件的运作方式。谁能告诉我如何正确设置 GridView
以便我可以按某些列排序并仍然重新应用我的 BackColor
格式?
尝试这样的事情
If e.Row.RowType = DataControlRowType.DataRow Then
Dim stStatus As String = e.Row.Cells(1).Text ' INDEX OF YOUR STATUS COLUMN
For Each cell As TableCell In e.Row.Cells
If stStatus = "Incomplete" Then
cell.BackColor = Color.Red
Else If stStatus = "Complete" Then
cell.BackColor = Color.Green
End If
Next
End If
将此代码放入 GridView
的 RowDataBound
事件中
我有一个 GridView
绑定到 SQL 数据库中的一个 table,以便它在登录我的网站后加载到页面上。
首次加载带有 GridView
的页面时。我遍历 table 上的行并根据它的 "Status" 列更改每一行的 BackColor
(即,如果它是 "Incomplete" 则将其设为红色或绿色,如果它是 "Complete").当您按另一列对 table 进行排序时,BackColor
就会消失。
我尝试 运行 相同的函数遍历行并更改 GridView1_Sorted
事件中的所有 BackColors
,但 table 仍然没有任何颜色变化.使用 GridView1_Load
事件也是如此。但是,添加一个按钮并将该按钮的点击绑定到相同的格式代码可以让我在排序后应用 BackColors
。
这告诉我,我可能误解了 Sorted
事件的运作方式。谁能告诉我如何正确设置 GridView
以便我可以按某些列排序并仍然重新应用我的 BackColor
格式?
尝试这样的事情
If e.Row.RowType = DataControlRowType.DataRow Then
Dim stStatus As String = e.Row.Cells(1).Text ' INDEX OF YOUR STATUS COLUMN
For Each cell As TableCell In e.Row.Cells
If stStatus = "Incomplete" Then
cell.BackColor = Color.Red
Else If stStatus = "Complete" Then
cell.BackColor = Color.Green
End If
Next
End If
将此代码放入 GridView
RowDataBound
事件中