我正在尝试根据数据集第11列上的数字突出显示行(附加图像)。我希望所有在第11列中具有值的行< 5000将突出显示为红色。以下是我的代码:
Protected Sub loadData()
gvRsrvtionValdtn.DataSource = ds
Dim myTable As System.Data.DataRowCollection
myTable = ds.Tables(0).Rows
If myTable.Count > 0 Then
For i = 0 To myTable.Count - 1
If myTable(i)(10) > 5000 Then
alist.Add(i)
End If
Next
End If
gvRsrvtionValdtn.DataBind()
btnExp.Visible = True
End Sub
Protected Sub gvRsrvtionValdtn_RowDataBound(sender As Object, e As GridViewRowEventArgs) Handles gvRsrvtionValdtn.RowDataBound
Dim myRow As TableRow = e.Row()
If alist.Contains(e.Row.RowIndex) Then
myRow.BackColor = Color.Red
End If
End Sub
<asp:GridView ID="gvRsrvtionValdtn" runat="server" AutoGenerateColumns="False"
BackColor="Black" BorderColor="#DEDFDE" BorderStyle="None" BorderWidth="1px"
CellPadding="4" CssClass="aspdatagrid" ForeColor="Black" CellSpacing="1"
HeaderStyle-CssClass="fixHdr" Width="98%" EmptyDataText="No records found"
EmptyDataRowStyle-CssClass="emptyData" RowStyle-Wrap="false"
**OnRowDataBound ="gvRsrvtionValdtn_RowDataBound"**>
在调试时,我可以看到第11列值
[my data set][1]
[1]: https://i.stack.imgur.com/gm7n8.jpg
答案 0 :(得分:0)
这是您尝试实现的最小工作示例。 在下面的代码段中,第2列小于100的行会获得不同的颜色。
WebForm1.aspx的
upload_max_filesize
WebForm1.aspx.vb
upload_max_filesize = 64M
以下是您评论后的更新方法。你的问题和问题有点不清楚。你的开场问题说......
如果列中的数据小于5000,则突出显示行...
这就是代码片段的作用,虽然我的代码是100而不是5000 ......
<%@ Page Language="vb" AutoEventWireup="false" CodeBehind="WebForm1.aspx.vb" Inherits="HighlightRowsInDGV_Web.WebForm1" %>
<!DOCTYPE html>
<html xmlns="http://www.w3.org/1999/xhtml">
<head runat="server">
<title></title>
</head>
<body>
<form id="form1" runat="server">
<div>below this<br />
<asp:GridView ID="gvRsrvtionValdtn" runat="server" AutoGenerateColumns="true"
BackColor="green" BorderColor="#DEDFDE" BorderStyle="Double" BorderWidth="1px"
CellPadding="4" CssClass="aspdatagrid" ForeColor="Black" CellSpacing="1"
HeaderStyle-CssClass="fixHdr" Width="98%" EmptyDataText="No records found"
EmptyDataRowStyle-CssClass="emptyData" RowStyle-Wrap="false"
OnRowDataBound ="gvRsrvtionValdtn_RowDataBound"></asp:GridView>
</div>
</form>
</body>
</html>
答案 1 :(得分:0)
我忘了访问行级别。添加此行后:对于每个单元格作为TableCell在受保护的子gvRsrvtionValdtn_RowDataBound的IF语句中的myRow.Cells中,它可以工作:
Protected Sub gvRsrvtionValdtn_RowDataBound(sender As Object, e As
GridViewRowEventArgs)
Dim myRow As TableRow = e.Row()
If e.Row.RowIndex > -1 Then
If alist.Contains(e.Row.RowIndex) Then
For Each cell As TableCell In myRow.Cells
cell.BackColor = Color.Red
Next
End If
End If
End Sub