我正在使用ASP.NET和VB.NET代码。我的问题是:
我有一个基于查询A加载的网格视图(称为gvSecondLevel)。(它工作正常)网格视图可以有1到X个行的任何位置。 gvSecondLevel的第0列中的每一行都有一个命令按钮,单击该按钮时将显示另一个网格视图(称为gvThirdLevel),该视图将在gvSecondLevel中显示行号的1到X行。
在gvThirdLEvel中有一个名为OpComplete的列,它是0(否)或255(是)。所以我们说gvSecondLevel有2行。对于第1行,gvThirdLevel中有三行,而对于gvSecondLevel第2行,gvThirdLevel中有4行。
现在假设对于gvSecondLevel第1行,所有OpComplete步骤(在gvThirdLEvel中)都是255或完全。
但是对于gvSecondLevel第2行,我们可以说gvThirdLevel的第三行(四行)有一个OpComplete步骤,该步骤为0但行1,2和& 4全部完成或255。
我需要做的是将gvSecondLevel中的第2行突出显示,因为gvThirdLevel OpComplete中的第三行为0.踢球者是gvThirdLevel不可见UNTIL用户点击了gvSecondLevel中的行号。
所以从本质上讲,我需要了解如何查看gvThidLevel查询为gvSecondlevel中的每一行检索的所有行,并突出显示它,以便用户知道特定行有问题。
现在gvSecondLevel加载但没有突出显示任何行。任何人都可以指出方向,以便我可以尝试学习如何做到这一点?或者,如果有一些奇迹,有人已经不得不这样做并且可以共享一些也可以工作的代码,所以我可以看到它是如何完成的。
gvSecondLvl
____________________________________________________________________________
| |Line # | Part Description | PCS | Weight | Sq Foot | Comments |
____________________________________________________________________________
|[cmdButton]| 1 | Part blah blah | 100 | 1,200 | 254 | |
____________________________________________________________________________
|[cmdButton]| 2 | Part blah blah 2 | 50 | 1,500 | 125 | |
____________________________________________________________________________
这很好。当有人点击特定行号的cmdButton时,显示gvThirdLvl,让我们说第2行
gvThirdLvl
___________________________________________________________________________
| Step Comp | Assembly | OP # | WC Code | Due Date | Qty | Qty Completed |
___________________________________________________________________________
| Yes | 0 | 100 | MTLH | 6/12/2017 | 25 | 25 |
___________________________________________________________________________
| No | 0 | 110 | PC | 6/14/2017 | 100 | 0 |
___________________________________________________________________________
请记住,在单击gvSecondLvl中的第2行命令按钮之前,不会显示gvThirdLvlv。但是当gvSecondLvl加载时,我需要(在这种情况下)第2行在单击任何行号之前突出显示。这样,用户可以看到第2行(在这种情况下)是此订单在报告上的原因。
答案 0 :(得分:0)
如果在单击按钮时填充行,则可以在数据绑定事件上设置行背景颜色。然后,如果要绑定的行符合您的条件,则可以突出显示它。
Private Sub GridView_RowDataBound(sender As Object, e As System.Web.UI.WebControls.GridViewRowEventArgs) Handles GridView.RowDataBound, additionalGridView.RowDataBound
If e.Row.RowType = DataControlRowType.DataRow Then
If CType(e.Row.FindControl("Line_1"), TextBox).Text = "0" Then
e.Row.BackColor = Color.Red
End If
End If
End Function
答案 1 :(得分:0)
这就是我最终设法让它发挥作用的方式。
{{1}}
此代码位于gvSecondLvlv DataBound中。