tagCANDY CGI VBレスキュー(花ちゃん) の Visual Basic 2010 用 掲示板(VB.NET 掲示板)
VBレスキュー(花ちゃん) の Visual Basic 2010 用 掲示板(VB.NET 掲示板)
[ツリー表示へ]  [ワード検索]  [Home]

タイトル DataGridViewでセルの境界線が消えない
投稿日: 2007/11/21(Wed) 09:57
投稿者まりん
はじめましてこんにちは。VB初心者ですがよろしくおねがいします。

DataGridViewで下のような表を作成しようとしています。

行を追加したあとCellPaintingイベントで個別のセル境界線を設定しています。
このとき、'1列目のセルが空白だった場合、上側の罫線を消す。というコマンド
e.AdvancedBorderStyle.Top = DataGridViewAdvancedCellBorderStyle.None
で上側の境界線だけが消えません。(あとは指定とおりできています)
でもTopの部分をRight,Left,Bottomに変えると指定通り境界線は消えます。
また、'1列目のセルすべてで上側の罫線を消す。とした場合、1行目のみ上側境界線は消えますがあとは消えていません。
いろいろ調べましたがどうしても理由が検討つかないのでどなたか教えてください。
よろしくおねがいします。



  Private Sub Form1_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load

        Dim row0 As String() = {"title1", "", "data1"}
        Dim row1 As String() = {"title2", "", "data2"}
        Dim row2 As String() = {"title3", "", ""}
        Dim row3 As String() = {"", "subtitle1", "data3-1"}
        Dim row4 As String() = {"", "subtitle2", "data3-2"}
        Dim row5 As String() = {"title4", "", "data4"}

        With Me.DataGridView1
            .Rows.Add(row0)
            .Rows.Add(row1)
            .Rows.Add(row2)
            .Rows.Add(row3)
            .Rows.Add(row4)
            .Rows.Add(row5)
        End With

    End Sub

    Sub DataGridView1_CellPainting(ByVal sender As Object, ByVal e As DataGridViewCellPaintingEventArgs) Handles DataGridView1.CellPainting

        '1列目の右側の罫線は消す
        If e.ColumnIndex = 0 Then
            e.AdvancedBorderStyle.Right = DataGridViewAdvancedCellBorderStyle.None
        End If

        '1列目のセルが空白だった場合、上側の罫線を消す。1列目の右側の罫線を書く。
        If e.ColumnIndex = 0 And e.Value = "" Then
            e.AdvancedBorderStyle.Top = DataGridViewAdvancedCellBorderStyle.None’←これが消えない
            e.AdvancedBorderStyle.Right = DataGridViewAdvancedCellBorderStyle.Single
        End If

        '3列目のセルが空白だった場合、3列目の右側の罫線を消す
        If e.ColumnIndex = 2 And e.Value = "" Then
            e.AdvancedBorderStyle.Right = DataGridViewAdvancedCellBorderStyle.None
        End If  

    End Sub

- 関連一覧ツリー をクリックするとツリー全体を一括表示します)

古いスレッドにレスはつけられません。