2016-09-13 4 views
1

グッドモーニングDataGridViewのCheckboxColumnシェーディングまたは(X)マーク未確認

私は、チェックボックスを生成DataGridViewの列を持っており、それに関連して、私は私のテーブルにも列がたくさんありますそれは今ここにTinyInt

あり、それらの両方のための画像です:

Table

Datagridview

今ここで私の質問は、それを陰影またはXマークをDataGridView列にすることができますか? Googleの中のすべてのダウンロード「X」画像の

Dim sql1 As MySqlCommand = New MySqlCommand("Select * from period_closure", con1) 
Dim ds1 As DataSet = New DataSet 
Dim adapter1 As MySqlDataAdapter = New MySqlDataAdapter 
con1.Open() 
adapter1.SelectCommand = sql1 
adapter1.Fill(ds1, "MyTable") 
DataGridView1.DataSource = ds1.Tables(0) 
con1.Close() 
ds1.Tables(0).Columns(2).DataType = GetType(Boolean) 
Me.DataGridView1.Columns(0).Frozen = True 
Dim i As Integer 
For i = 0 To DataGridView1.Columns.Count - 1 
    DataGridView1.Columns.Item(i).SortMode = DataGridViewColumnSortMode.Programmatic 
Next 
DataGridView1.Columns("PeriodID").Visible = False 
DataGridView1.Columns(0).DefaultCellStyle.BackColor = Color.LightBlue 
+0

イメージの列にするか、独自のセルを作成するか、自分で描画します。いくつかの選択肢があります。 – Codexer

+0

自分のセルまたはイメージの列を作成する方法では、私はまた、私のチェックを更新するか、私のテーブルも更新されます列をucneckするコードがあるため装着されませんでした。どのように描画については?あなたはそれについて私にいくつかの知識を渡すことができますか? –

+0

@Zagglerどうすればセルの色が赤くなるのですか? –

答えて

0

まず、または独自に作成:

は、ここに私のDataGridViewを移入内のコードです。

これをコードに追加してください。

Private Sub CheckBox1_Paint(sender As Object, e As PaintEventArgs) Handles CheckBox1.Paint 
If CheckBox1.Checked = False Then 
     Try 
      Dim newImage As Image = Image.FromFile("E:\Projects\Library\BER-X.jpg") 
      Dim x As Single = 0 
      Dim y As Single = 0 
      Dim width As Single = CheckBox1.Width 'You can also try this CheckBox1.Width - 3 
      Dim height As Single = CheckBox1.Height 'You can also try this CheckBox1.Height - 3 
      e.Graphics.DrawImage(newImage, x, y, width, height) 
     Catch ex As Exception 
     End Try 
    End If 
End Sub 

チェックボックスにXマークは、位置に正確ではありませんが、あなたはあなたの自己によってそれを修正することができます。それを試して、あなたのシステムに合わせて探検してください。 :)

これがあなたに役立つと思います。

関連する問題