//dataGridView列宽自适应
private void DataGridAutoResize(DataGridView dgv)
{
System.Drawing.Font font = new System.Drawing.Font("UTF-8", 9);//UTF-8是字体的编码格式,2是字体大小
dgv.Font = font;//此时dataGridView的字体就已经设置完成
int width = 0;
for (int i = 0; i < dgv.Columns.Count; i++)
{
//将每一列都调整为自动适应模式
dgv.AutoResizeColumn(i, DataGridViewAutoSizeColumnMode.AllCells);
//记录整个DataGridView的宽度
width += dgv.Columns[i].Width;
}
//判断调整后的宽度与原来设定的宽度的关系,如果是调整后的宽度大于原来设定的宽度,
//则将DataGridView的列自动调整模式设置为显示的列即可,
//如果是小于原来设定的宽度,将模式改为填充。
if (width > dgv.Size.Width)
{
dgv.AutoSizeColumnsMode = DataGridViewAutoSizeColumnsMode.DisplayedCells;
}
else
{
dgv.AutoSizeColumnsMode = DataGridViewAutoSizeColumnsMode.Fill;
}
}
this.DataGrid_Stock.SelectionMode = DataGridViewSelectionMode.FullRowSelect;
this.DataGrid_Stock.AutoGenerateColumns = false;
修改颜色
private void dataGridView2_CellPainting(object sender, DataGridViewCellPaintingEventArgs e)
{
if (e.RowIndex > -1)
{
e.CellStyle.SelectionForeColor = e.CellStyle.ForeColor;
e.CellStyle.SelectionBackColor = e.CellStyle.BackColor;
bool Grade = Convert.ToBoolean(this.dataGridView2.Rows[e.RowIndex].Cells["Checked"].Value);
if (Grade)
{
dataGridView2.Rows[e.RowIndex].DefaultCellStyle.BackColor = Color.Green;
}
else
{
dataGridView2.Rows[e.RowIndex].DefaultCellStyle.BackColor = Color.White;
}
}
}