0

そのため、特定のセルのみの外観を変更したいGridviewがあり、それらのセルを1つとして扱いたい(可能であれば)。

まず、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 を見つけましたが、境界線を作成できるように、セルの片側の境界線のみをオンにする方法はありますか?

ありがとう

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 に答える