タイトル : DataGridViewの色付け 投稿日 : 2009/02/25(Wed) 16:08 投稿者 : タロ
いつもお世話になっております。 DataGridViewで特定の条件の時のみ、行に色をつけております。 立ち上げ起動時の検索1回目はうまくいくのですが、2回目以降まったく色が付きません。 ご教授、願えないでしょうか。 環境:VB2005 Form1(検索画面) Private Sub Btn1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Btn1.Click Form2.Owner = Me '出力タイプを保持 Form2.ShowDialog(sSql) ←SQL文をなげる Form2(検索結果表示画面) Public Overloads Sub ShowDialog(ByVal sSql As String) 'トリガ作成時に使用する Dim sqlConn As SqlClient.SqlConnection 'DB接続 sqlConn = New SqlClient.SqlConnection(S_strSCon) sqlConn.Open() Dim sqlSelect As New SqlClient.SqlCommand(sSql, sqlConn) Dim Adapter As New SqlClient.SqlDataAdapter(sqlSelect) 'データの読み込み Dim Table As New DataTable() Adapter.Fill(Table) 'データソースを設定してDataGridViewにデータを表示 Dim BindingSource1 As New BindingSource BindingSource1.DataSource = Table DataGridView1.DataSource = BindingSource1 sqlConn.Close() sqlConn = Nothing Me.ShowDialog() End Sub Private Sub F_List_Load(ByVal sender As Object, ByVal e As System.EventArgs) Handles Me.Load Dim i As Integer '総行数をカウント For i = 0 To DataGridView1.RowCount - 1 'セルの内容と文字列を比べる If DataGridView1.Rows(i).Cells(7).Value <> "" Then '条件を満たせば行の色を変える If DataGridView1.Rows(i).Cells(7).Value < Now.AddMonths(3).ToString("yyyy/MM/dd") Then DataGridView1.Rows(i).DefaultCellStyle.BackColor = Color.Aqua End If End If Next End Sub |