ヘッダー

VB2005対応

 

合計値を表示する

以下の例では、[合計]列に[英語]、[国語]、[数学]の合計値を計算して表示する。

VB2005対応

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

   
'▼列の定義
   
DataGridView1.ColumnCount = 6
    DataGridView1.Columns(0).Name =
"先頭項目"
   
DataGridView1.Columns(1).Name = "名前"
   
DataGridView1.Columns(2).Name = "英語"
   
DataGridView1.Columns(3).Name = "国語"
   
DataGridView1.Columns(4).Name = "数学"
   
DataGridView1.Columns(5).Name = "合計"

   
'▼値の設定
   
Dim row0 As String() = {"", "有本祐介", "90", "85", "65", ""}
    Dim row1 As String() = {"", "五十嵐加奈", "55", "85", "70", ""}
    Dim row2 As String() = {"", "上田啓", "82", "90", "85", ""}

    DataGridView1.Rows.Add(row0)
    DataGridView1.Rows.Add(row1)
    DataGridView1.Rows.Add(row2)

   
'列の幅を自動調節する
   
DataGridView1.AutoResizeColumns(DataGridViewAutoSizeColumnsMode.AllCellsExceptHeader)

End Sub

Private Sub DataGridView1_CellFormatting(ByVal sender As Object, ByVal e As System.Windows.Forms.DataGridViewCellFormattingEventArgs) Handles DataGridView1.CellFormatting

    If DataGridView1.Columns(e.ColumnIndex).Name = "合計"
Then

        Dim
CurrentRow As DataGridViewRow = DataGridView1.Rows(e.RowIndex)
        Dim Eigo As
Integer
       
Dim Kokugo As Integer
       
Dim Sugaku As Integer
       
Dim Total As Integer

        Eigo = CInt(CurrentRow.Cells("英語").Value)
        Kokugo = CInt(CurrentRow.Cells("国語").Value)
        Sugaku = CInt(CurrentRow.Cells("数学").Value)
        Total = Eigo + Kokugo + Sugaku

        e.Value =
CStr(Total)
        e.FormattingApplied =
True

   
End If

End Sub

 


VB6対応 VB6にはDataGridViewがありません。VB6用のいくつかのグリッドコントロールが用意されていますがそれらの制御手法はここで紹介しているものとは大きく異なります。

VB.NET 2002 対応 VB.NET 2003 対応 VB.NET2002, VB.NET2003にはDataGridViewがありません。