C# Winform DataGridView 重新绘制行样式

来源:互联网 发布:fragment重新加载数据 编辑:程序博客网 时间:2024/06/15 21:51
  RowPostPaint  :Datagridview 在执行行级绘制时触发
private void dgv1_RowPostPaint(object sender, DataGridViewRowPostPaintEventArgs e)        {            //DataGridView的AutoSizeColumnMode設置為Fill填充模式,以下語句才能生效,填充值為%            dgv1.Columns[0].FillWeight = 20;            dgv1.Columns[1].FillWeight = 10;            dgv1.Columns[2].FillWeight = 10;            dgv1.Columns[3].FillWeight = 15;            dgv1.Columns[4].FillWeight = 15;            dgv1.Columns[5].FillWeight = 15;            dgv1.Columns[6].FillWeight = 15;            //如果DataTable中的列名不符合要求,更改DataGridView中的列名            dgv1.Columns[0].HeaderText = "银行卡号";            dgv1.Columns[1].HeaderText = "交易类型";            dgv1.Columns[2].HeaderText = "消费金额";            dgv1.Columns[3].HeaderText = "终端号";            dgv1.Columns[4].HeaderText = "流水号";            dgv1.Columns[5].HeaderText = "交易参考号";            dgv1.Columns[6].HeaderText = "交易时间";            //隔行显示顏色(194, 217, 247)(206, 233, 238)            if (e.RowIndex % 2 == 1)                dgv1.Rows[e.RowIndex].DefaultCellStyle.BackColor = Color.FromArgb(229, 255, 229);            //顯示序號            SolidBrush b = new SolidBrush(dgv1.RowHeadersDefaultCellStyle.ForeColor);            e.Graphics.DrawString((e.RowIndex + 1).ToString(System.Globalization.CultureInfo.CurrentUICulture), dgv1.DefaultCellStyle.Font, b, e.RowBounds.Location.X + 20, e.RowBounds.Location.Y + 4);        }