我有一个GridView
绑定到SQL数据库中的表,以便在登录我的网站后加载到页面上。
首次加载包含GridView
的页面时。我逐步浏览表格中的行并根据它的“状态”列更改每行的BackColor
(即如果它是“未完成”,如果它是“完成”则使其变为红色或绿色)。当您按另一列对表进行排序时,BackColor
会消失。
我尝试运行相同的函数来逐步执行行并更改BackColors
事件上的所有GridView1_Sorted
,但表格保持不变色。使用GridView1_Load
事件也是如此。但是,添加一个按钮并将该按钮的点击绑定到相同的格式代码,我可以在排序后应用BackColors
。
这告诉我,我可能误解了Sorted
事件的工作原理。任何人都可以告诉我如何正确设置GridView
,以便我可以按某些列进行排序并仍然重新应用我的BackColor
格式?
答案 0 :(得分:1)
尝试这样的事情
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
将此代码放入RowDataBound
GridView
事件中