|
分類:[.NET 全般]
VB.net2003でプログラムを作成しています。 下記のソースの様に、Datagridを表示しているのですが、 列のスタイル変更を行うと、見出しのクリック時のソートが禁止ができなくなったり、1行おきに色を付ける事ができなくなります。 列のスタイル変更をしなかった場合は、ソートの禁止も1行おきに色を付けることもきちんとできます。 列のスタイル変更を行っても、ソートの禁止も1行おきに色を付けることもできる方法はありますか? 初心者なので、わかっていない事が多々あります。 変なコーディングをしているかもしれません。 ご返答、よろしくお願いいたします。
Public Class Form2 Inherits System.Windows.Forms.Form
Private Sub Form2_Load(ByVal sender As Object, ByVal e As System.EventArgs) Handles MyBase.Load Dim h, w As Integer Dim dDate As Date = Now Dim dSet As DataSet = New DataSet("一覧") Dim dTbl As DataTable Dim tblStyle As DataGridTableStyle Dim clmStyle1 As DataGridColumnStyle Dim clmStyle2 As DataGridColumnStyle
'グリッドに項目ラベルを設定 dTbl = dSet.Tables.Add("一覧") dTbl.Columns.Add("項目A", Type.GetType("System.String")) dTbl.Columns.Add("項目B", Type.GetType("System.String"))
'グリッドにデータをセット dTbl.Rows.Add(New Object() {"データA", "データB"}) dTbl.Rows.Add(New Object() {"データC", "データD"}) dTbl.Rows.Add(New Object() {"データE", "データF"})
'列のスタイルを変更 tblStyle = New DataGridTableStyle tblStyle.MappingName = "一覧" DataGrid1.TableStyles.Add(tblStyle)
clmStyle1 = New DataGridTextBoxColumn clmStyle1.MappingName = "項目A" clmStyle1.HeaderText = "項目A" clmStyle1.Width = 120 tblStyle.GridColumnStyles.Add(clmStyle1)
clmStyle2 = New DataGridTextBoxColumn clmStyle2.MappingName = "項目B" clmStyle2.HeaderText = "項目B" clmStyle2.Width = 70 tblStyle.GridColumnStyles.Add(clmStyle2)
'見出しクリック時のソートを禁止する DataGrid1.AllowSorting = False '一行おきに色をつける DataGrid1.AlternatingBackColor() = Color.FromArgb(200, 200, 200)
'グリッドを表示 DataGrid1.SetDataBinding(dSet, "一覧")
End Sub End Class
|