列排序

时间:2015-11-05 18:43:12

标签: c# asp.net gridview conditional-formatting backcolor

我有一个GridView绑定到SQL数据库中的表,以便在登录我的网站后加载到页面上。

首次加载包含GridView的页面时。我逐步浏览表格中的行并根据它的“状态”列更改每行的BackColor(即如果它是“未完成”,如果它是“完成”则使其变为红色或绿色)。当您按另一列对表进行排序时,BackColor会消失。

我尝试运行相同的函数来逐步执行行并更改BackColors事件上的所有GridView1_Sorted,但表格保持不变色。使用GridView1_Load事件也是如此。但是,添加一个按钮并将该按钮的点击绑定到相同的格式代码,我可以在排序后应用BackColors

这告诉我,我可能误解了Sorted事件的工作原理。任何人都可以告诉我如何正确设置GridView,以便我可以按某些列进行排序并仍然重新应用我的BackColor格式?

1 个答案:

答案 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事件中
相关问题