我正在使用sql服务器和aspx。我希望表中的值根据文件后面代码中sql中的值来更改颜色。因此,如果表==中的值“是”更改颜色#ff0000。如果表中的值为==,则"no“将其更改为#00ff00;表调用: submitTable,列为status。我在用Gridview。
<asp:GridView ID="gridlistUsers" runat="server" HorizontalAlign="left" AutoGenerateColumns="false" CssClass="table table-bordered " GridLines="None">
<Columns>
<asp:BoundField DataField="ID" HeaderText="TicketNumber" HeaderStyle-CssClass="Color" />
<asp:BoundField DataField="ID" HeaderText="TicketNumber" HeaderStyle-CssClass="Color" />
<asp:BoundField DataField="Status" HeaderText="Opened/Closed" HeaderStyle-CssClass="Color" />
</Columns>
</asp:GridView>发布于 2017-02-06 19:29:45
我让它开始工作了!这对我也有帮助,http://www.aspsnippets.com/Articles/Change-Background-color-of-GridView-Row-using-RowDataBound-event-in-ASPNet-using-C-and-VBNet.aspx
<asp:GridView ID="gridlistUsers" runat="server" HorizontalAlign="left" AutoGenerateColumns="false" CssClass="table table-bordered " OnRowDataBound = "OnRowDataBound">//代码后面
protected void OnRowDataBound(object sender, GridViewRowEventArgs e)
{
if (e.Row.RowType == DataControlRowType.DataRow)
{
TableCell cell = e.Row.Cells[0]; //the 0 changes depending on the column number in sql
string status = (cell.Text);
string yes = "yes";
string no = "no";
if (status.Equals(no))
{
cell.BackColor = Color.Red;
}
if (status.Equals(yes))
{
cell.BackColor = Color.Green;
}
}
}发布于 2017-02-03 20:05:45
您应该在asp中执行此工作,以便为此sql表创建REST。然后,使用Ajax & JS,您可以获得每个html表的这个值,并保存到变量。
然后简单地说:
if (your_sql_value === "yes") {
document.querySelector('.css-class').style.backgroundColor = "#ff0000"
} else if (your_sql_value === "no") {
document.querySelector('.css-class').style.backgroundColor = "#00ff00"
}发布于 2017-02-05 17:51:47
从您的回答来看,我假设您使用的是asp:Table。
因此,基本上有两种可能的方式:
1.您的表已经填充并呈现为
如果是这样的话,请检查此表示例:
图像:

.ASPX表代码:
<asp:Table ID="submitTable" runat="server" GridLines="Both">
<asp:TableRow runat="server" HorizontalAlign="Center" TableSection="TableHeader" VerticalAlign="Middle">
<asp:TableCell runat="server" Width="128px">ID</asp:TableCell>
<asp:TableCell runat="server" Width="128px">Status</asp:TableCell>
</asp:TableRow>
</asp:Table>它是一个包含随机值的表,随机值为“是”或“否”。在这种情况下,您可以遍历每一行并简单地应用以下颜色属性:
int statusColumnIndex = 1; // Because it is the second column
int k = 0;
foreach (TableRow row in submitTable.Rows)
{
if(k != 0) // Do this so it won't color the header row
{
if( row.Cells[statusColumnIndex].Text.Equals("yes") )
{
row.Cells[statusColumnIndex].BackColor = Color.FromArgb(255, 0, 0); // 255, 0, 0 is #ff0000 in RGB
}
else
{
row.Cells[statusColumnIndex].BackColor = Color.FromArgb(0, 255, 0); // 0, 255, 0 is ##00ff00 in RGB
}
}
k++;
}结果(不同随机值):

或
2.如果您想在填充表时给表涂上颜色,
在本例中,您可以在实例化TableCell对象以填充TableRow时向其应用颜色:
string statusValueFromSql = valueFromSqlQuery;
Color color;
if( statusValueFromSql.Equals("yes") )
{
color = Color.FromArgb(255, 0, 0); // 255, 0, 0 is #ff0000 in RGB
}
else
{
color = Color.FromArgb(0, 255, 0); // 0, 255, 0 is ##00ff00 in RGB
}
var cellStatus = new TableCell { BackColor = color };最终结果与情景1完全相同。
我希望我的回答能帮上忙。
https://stackoverflow.com/questions/42032082
复制相似问题