在gridview中的多个单元格周围放置边框

时间:2012-06-12 19:12:04

标签: asp.net css gridview

所以我有一个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区域的外围放置一个边框。我找到了一个单元格的borderStyle和BorderColor,但有没有办法让我只打开一个单元格边框的边框,这样我就可以创建边框了?

由于

2 个答案:

答案 0 :(得分:1)

我建议你改用类,不要像这样硬编码。这将更容易维护等。

答案 1 :(得分: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";
        }

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