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;
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 





posted @ 2014-06-09 16:26  勇天  阅读(272)  评论(0)    收藏  举报