C# RowDataBound gridview选定颜色
我有一个C# RowDataBound gridview选定颜色,c#,vb.net,C#,Vb.net,我有一个RowDataBound和一个gridview查找哪一年是活动的,现在它有一个,并且突出显示。但是假设我想让另一个年份变得活跃,这个年份仍然突出显示,而你点击的那个年份也突出显示。但我想继续 VB: 欢迎使用C#或vb帮助,因此我认为它必须像selectedindexchange那样使用。但是这个SUB有一半没用,不是吗 试图完全理解。。。。但我认为,当年份发生变化时,您需要做的是重新绑定网格。这将运行您的rowdatabound代码并更改亮点。如果没有看到所有代码,很难说。。。但在页面
RowDataBound
和一个gridview
查找哪一年是活动的,现在它有一个,并且突出显示。但是假设我想让另一个年份变得活跃,这个年份仍然突出显示,而你点击的那个年份也突出显示。但我想继续
VB:
欢迎使用C#或vb帮助,因此我认为它必须像
selectedindexchange
那样使用。但是这个SUB
有一半没用,不是吗 试图完全理解。。。。但我认为,当年份发生变化时,您需要做的是重新绑定网格。这将运行您的rowdatabound代码并更改亮点。如果没有看到所有代码,很难说。。。但在页面加载时,您可以设置FIN year(仅在不回发的情况下执行此操作)
修改您的RowDataBound代码,将一些CommandName和CommandArgument属性添加到btnSelect,如下所示
Protected Sub grdFinYear_RowDataBound(ByVal sender As Object, ByVal e As System.Web.UI.WebControls.GridViewRowEventArgs) Handles grdFinYear.RowDataBound
If e.Row.RowType = DataControlRowType.DataRow Then
If grdFinYear.DataKeys(e.Row.RowIndex).Values("FIN_ID") = FIN_ID Then
Dim activeButton As Button = e.Row.FindControl("btnSelect")
activeButton.CssClass = "ActionButtonsActiveYear"
activeButton.CommandName = "ActiveButton"
activeButton.CommandArgument = **Bind to Year for this row**
e.Row.BackColor = Color.FromArgb(0, 121, 139, 169)
Else
Dim makeActiveButton As Button = e.Row.FindControl("btnSelect")
makeActiveButton.CssClass = "ActionButtonsMakeThisYearActive"
makeActiveButton.CommandName = "MakeActiveButton"
makeActiveButton.CommandArgument = **Bind to Year for this row**
End If
End If
End Sub
然后在btselect.click事件的代码中
Protected Sub btnSelect_Click(ByVal sender As Object, ByVal e as EventArgs) Handles btnSelect.Click
If sender.CommandName = "MakeActiveButton" Then
FIN = CInt(sender.CommandArgument)
grdFIinYear.DataBind()
End If
End Sub
希望这能有所帮助是的,在我的表格中,我将财务年度设置为今年,因此,也许我可以在那里说,如果年度更改为任何年份,然后更改按钮并点亮。那对吗?
Protected Sub btnSelect_Click(ByVal sender As Object, ByVal e as EventArgs) Handles btnSelect.Click
If sender.CommandName = "MakeActiveButton" Then
FIN = CInt(sender.CommandArgument)
grdFIinYear.DataBind()
End If
End Sub