如何实现datagrid控件背景色的隔行显示?谢谢.

解决方案 »

  1.   

    DATAGRID 的属性里去设置 AlternatingItemStyle
      

  2.   

    利用datagrid 的样式表,看我下面的例子:datagrid 的樣式表(DataGridTableStyle)應用... 
    首先 我們先定一個 datatable 和 一個datarow  Private idtb_temp As New DataTable
      Private idrw_row As DataRow  private sub GetDataTable()
             idtb_temp.Columns.Add("prdodr_subodr_code")              '''定義datatable 的列名        idtb_temp.TableName = "SearchTable"
            Dim ldcl_header As Windows.Forms.DataGridTextBoxColumn
            Dim ldgts_styles As New Windows.Forms.DataGridTableStyle
            ldgts_styles.SelectionForeColor = System.Drawing.Color.Yellow   
             '''選中行的前景色,即字體顏色
            ldgts_styles.SelectionBackColor = System.Drawing.Color.Brown     '''選中行的背景色        ldgts_styles.ForeColor = System.Drawing.Color.Coral           
            ''' datagrid 中將要顯示的字的顏色
            ldgts_styles.AlternatingBackColor = System.Drawing.Color.Cyan   
             '''datagrid中奇數行所顯示的顏色
            ldgts_styles.BackColor = System.Drawing.Color.Cyan            
           '''datagrid中偶數行所顯示的顏色        ldgts_styles.AllowSorting = False                              
             '''些樣式表定義datagrid不允許自動排序..        ldgts_styles.MappingName = "SearchTable"        ldcl_header = New Windows.Forms.DataGridTextBoxColumn          
             '''實例化一個datagridtextboxcolumn
            ldcl_header.MappingName = "prdodr_subodr_code"         
            '''引用前面定義的 “列名”
            ldcl_header.HeaderText = "第一列"                                                
           '''datagrid 中顯示的 表列頭 文字
            ldcl_header.ReadOnly = True            '''些列設定為只讀
            ldcl_header.TextBox.BorderStyle = BorderStyle.Fixed3D
            ldcl_header.TextBox.ForeColor = System.Drawing.Color.Red        ldgts_styles.GridColumnStyles.Add(ldcl_header)        For i As Integer = 0 To 7
                idrw_row = idtb_temp.NewRow
                idrw_row.Item("prdodr_subodr_code") = "第" & i & "行"
                idtb_temp.Rows.Add(idrw_row)        Next        idtb_temp.DefaultView.AllowNew = False
            Me.DataGrid1.TableStyles.Add(ldgts_styles)
            Me.DataGrid1.DataSource = idtb_temp
      end sub