DataGridView常用代码收集
1.绘制行号
/// <summary>
/// 必须在datagridview的RowPostPaint事件中执行
/// </summary>
/// <param name="sender">事件对象</param>
/// <param name="e">事件对象</param>
public void 设置行号(object sender, DataGridViewRowPostPaintEventArgs e)
{
System.Drawing.Rectangle rectangle = new System.Drawing.Rectangle(e.RowBounds.Location.X,
e.RowBounds.Location.Y,_dataGridViewObj.RowHeadersWidth - 4,e.RowBounds.Height);
TextRenderer.DrawText(e.Graphics, (e.RowIndex + 1).ToString(),
_dataGridViewObj.RowHeadersDefaultCellStyle.Font,rectangle,
_dataGridViewObj.RowHeadersDefaultCellStyle.ForeColor,
TextFormatFlags.VerticalCenter | TextFormatFlags.Right);
}
2.设置列对齐方式
/// <summary>
/// 根据列号设置列的对齐方式
/// </summary>
/// <param name="列号">列号0开始</param>
/// <param name="对齐方式">对齐方式</param>
public void 列对齐方式(int 列号,DataGridViewContentAlignment 对齐方式)
{
_dataGridViewObj.Columns[列号].DefaultCellStyle.Alignment = 对齐方式;
}
3.设置行背景颜色
/// <summary>
/// 设置行背景颜色
/// </summary>
/// <param name="行号">行号</param>
/// <param name="颜色">颜色值</param>
public void 行背景颜色(int 行号,Color 颜色)
{
_dataGridViewObj.Rows[行号].DefaultCellStyle.BackColor = 颜色;
}
4.取当前选择行
/// <summary>
/// 取当前的选择行
/// </summary>
/// <returns>返回-2则证明列表没有项 -1表示有列表项但没有选择</returns>
public int 取现行选中行号()
{
if (_dataGridViewObj.Rows.Count > 0)
{
if (_dataGridViewObj.CurrentRow.Index != -1)
{
return _dataGridViewObj.CurrentRow.Index;
}
else
{
return -1;//有列表项目但是没选择
}
}
else
{
return -2;//没有列表项目
}
}
5.设置列不允许排序
/// <summary>
/// 不允许排序 顺便设置下列宽
/// </summary>
public void 不允许列排序()
{
for (int i = 0; i < _dataGridViewObj.Columns.Count; i++)
{
if (_dataGridViewObj.Columns[i].HeaderText == "歌名" || _dataGridViewObj.Columns[i].HeaderText == "歌手")
{
_dataGridViewObj.Columns[i].Width = 150;
}
_dataGridViewObj.Columns[i].SortMode = DataGridViewColumnSortMode.NotSortable;
}
}
6.列宽调整方式
//列宽调整方式
dgvAddSong.AutoSizeColumnsMode = DataGridViewAutoSizeColumnsMode.Fill;

浙公网安备 33010602011771号