C# Winform DataGridView 重新绘制行样式

版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/Mj_kk/article/details/77070207
  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);
        }

猜你喜欢

转载自blog.csdn.net/Mj_kk/article/details/77070207
今日推荐