更改htmlTable中特定单元格的颜色

本文关键字:单元格 颜色 htmlTable 更改 | 更新日期: 2023-09-27 17:58:01

我有一个html表。表中的每个单元格都由一个ID标识,例如0001等等。表没有固定的维度,而是动态的,因此根据数据库中存储的值的多少,可以有20个或更多的单元格。我想更改特定单元格的文本框的背景颜色。但不知道如何进入牢房。

我知道这个语法:

// the whole background becomes green 
myTable.BgColor = "#008000"; 
// I see no changes
myTable.Rows[x].Column[y].BgColor = "#008000";

// I need a syntax like this
myTable.Cell(Id_cell).BgColor =  "#008000";

更改htmlTable中特定单元格的颜色

试试这个:

.aspx:

<asp:Table ID="table" runat="server" />

C#代码:

TableRow row = new TableRow();
TableCell cell = new TableCell();
cell.Text = "Testing";
cell.BackColor = System.Drawing.Color.Red;
row.Cells.Add(cell);
table.Rows.Add(row);
table.Rows[0].Cells[0].BackColor = System.Drawing.Color.Pink;

您可以设置单个单元格的背景颜色,如下所示:

myTable.Rows[0].Cells[1].BgColor = "#553322";

其中0是所需的行号,在本例中是第一行,1是所需单元格编号,在本案中是第二个单元格,因为索引基于0。这必须在呈现表之前完成,例如在页面加载时。

你可以将其概括为一种设置id的细胞颜色的方法:

private void SetColorByCellId(HtmlTable table, string id, string color)
{
    for (int i = 0; i < table.Rows.Count; i++)
    {
        for (int j = 0; j < table.Rows[i].Cells.Count; j++)
        {
            if (table.Rows[i].Cells[j].ID == id)
            {
                table.Rows[i].Cells[j].BgColor = color;
            }
        }
    }
}

然后你会这样称呼它:

SetColorByCellId(myTable, "0001", "#553322");