0

所以我有一个 Gridview,我想只修改某些单元格的外观,并且我想将这些单元格视为一个单元格(如果可能的话)。

所以首先我要更改 RowDataBound 上的一些单元格背景颜色:

if (e.Row.RowIndex > 1 && e.Row.RowIndex < 7)
{
    e.Row.Cells[1].BackColor = Color.Red;
    e.Row.Cells[2].BackColor = Color.Red;
    e.Row.Cells[3].BackColor = Color.Red;
    e.Row.Cells[4].BackColor = Color.Red;
    e.Row.Cells[5].BackColor = Color.Red;
}   

这会将 5x5 的单元格区域更改为红色。现在我接下来想做的是在 5x5 区域的外部设置一个边框。我找到了单元格的边框样式和边框颜色,但是有没有办法只为单元格的一侧打开边框,以便创建边框?

谢谢

4

2 回答 2

1

我建议您改用类,不要像这样对其进行硬编码。它会更容易维护等。

于 2012-06-12T19:15:22.753 回答
0

我只是想我会把它作为一个解决方案发布,以防其他人想要这样做。

这是我的 CSS

<style type="text/css">
.LeftUpperCorner
{
    border-left:5px solid black;
border-top:5px solid black;
}

.Top
 {
border-top:5px solid black;
 }

 .RightUpperCorner
 {
border-right:5px solid black;
border-top:5px solid black;
}

.Left
{
border-left:5px solid black;
}

.Right
{
border-right:5px solid black;
}

.LeftLowerCorner
{
border-left:5px solid black;
border-bottom:5px solid black;
}

.Bottom
{
border-bottom:5px solid black;
}

.RightLowerCorner
{
border-right:5px solid black;
border-bottom:5px solid black;
}

和我背后的代码:

            if (e.Row.RowIndex == 2)
        {
            e.Row.Cells[1].CssClass = "LeftUpperCorner";
            e.Row.Cells[2].CssClass = "Top";
            e.Row.Cells[3].CssClass = "Top";
            e.Row.Cells[4].CssClass = "Top";
            e.Row.Cells[5].CssClass = "RightUpperCorner";
        }

        if (e.Row.RowIndex == 3 || e.Row.RowIndex == 4 || e.Row.RowIndex == 5)
        {
            e.Row.Cells[1].CssClass = "Left";
            e.Row.Cells[5].CssClass = "Right";
        }

        if (e.Row.RowIndex == 6)
        {
            e.Row.Cells[1].CssClass = "LeftLowerCorner";
            e.Row.Cells[2].CssClass = "Bottom";
            e.Row.Cells[3].CssClass = "Bottom";
            e.Row.Cells[4].CssClass = "Bottom";
            e.Row.Cells[5].CssClass = "RightLowerCorner";
        }

它可能不是最漂亮的,但这并没有真正需要改变,并且总是在同一个位置,所以它符合我的简单需求。

于 2012-06-12T20:13:29.730 回答