this.dataGridView1.DataSource = this.dISASTERBindingSource;
this.dataGridView1.Location = new System.Drawing.Point(0, 0);
this.dataGridView1.Name = "dataGridView1" ;
this.dataGridView1.RowTemplate.Height = 30;
this.dataGridView1.Size = new System.Drawing.Size(773, 343);
this.dataGridView1.TabIndex = 0;
this.dataGridView1.CellContentClick += new System.Windows.Forms.DataGridViewCellEventHandler (this.dataGridView1_CellContentClick);
this.dataGridView1.CellEndEdit += new System.Windows.Forms.DataGridViewCellEventHandler (this.dataGridView1_endEdit);
this.dataGridView1.AllowUserToResizeColumns = false;
this.dataGridView1.AllowUserToResizeRows = false;
/*
* 设置最后边的背景色
* */
this.dataGridView1.BackgroundColor = System.Drawing.Color.FromArgb(240, 240, 240);
/**
*设置表头的高度 、对齐方式、颜色
**/
this.dataGridView1.ColumnHeadersHeightSizeMode = System.Windows.Forms.DataGridViewColumnHeadersHeightSizeMode .DisableResizing;
this.dataGridView1.ColumnHeadersHeight = 40;
this.dataGridView1.ColumnHeadersDefaultCellStyle.Alignment = System.Windows.Forms.DataGridViewContentAlignment .MiddleCenter;
this.dataGridView1.RowHeadersDefaultCellStyle.Alignment = System.Windows.Forms.DataGridViewContentAlignment .MiddleCenter;
this.dataGridView1.EnableHeadersVisualStyles = false;
this.dataGridView1.ColumnHeadersDefaultCellStyle.BackColor = System.Drawing.Color.YellowGreen;
this.dataGridView1.ColumnHeadersDefaultCellStyle.ForeColor = System.Drawing.Color.BlueViolet;
/**
*设置第一列不可编辑
**/
this.dataGridView1.Columns[0].ReadOnly = true;
/**
*设置表格外边框样式
**/
this.dataGridView1.BorderStyle = System.Windows.Forms.BorderStyle.None;
/**
*设置表格内部的线条颜色
**/
this.dataGridView1.GridColor = System.Drawing.Color.WhiteSmoke;
/**
*去掉最后一行
**/
this.dataGridView1.AllowUserToAddRows = false;
/**
*左侧标题栏隐藏
**/
this.dataGridView1.RowHeadersVisible = false;
/**
*设置选中单元的背景色和字体颜色
**/
this.dataGridView1.DefaultCellStyle.SelectionBackColor = System.Drawing.Color.White;
this.dataGridView1.DefaultCellStyle.SelectionForeColor = System.Drawing.Color.Black;
/**
*竖直方向填充满datagridview
**/
this.dataGridView1.AutoSizeColumnsMode = System.Windows.Forms.DataGridViewAutoSizeColumnsMode .Fill;
/**
*带链接的列
**/
private System.Windows.Forms. DataGridViewLinkColumn editColumn;
this.editColumn.LinkColor = System.Drawing.Color.Blue;
this.editColumn.UseColumnTextForLinkValue = true;
this.editColumn.Text = "修改" ;
this.editColumn.HeaderText = "编辑" ;
this.editColumn.Name = "editColumn" ;
this.editColumn.DefaultCellStyle.Alignment = System.Windows.Forms.DataGridViewContentAlignment .MiddleCenter;
//datagridview前面加序号 直接在方法rowpostpaint中添加dataGridView_RowPostPaint这个方法就可以了 需要把rowheadervisible改为true
private void dataGridView_RowPostPaint(object sender, DataGridViewRowPostPaintEventArgs e)
{
SetDataGridViewRowXh(e, sender as DataGridView);
}
private void SetDataGridViewRowXh(DataGridViewRowPostPaintEventArgs e, DataGridView dataGridView)
{
SolidBrush solidBrush = new SolidBrush(dataGridView.RowHeadersDefaultCellStyle.ForeColor);
int xh = e.RowIndex + 1;
e.Graphics.DrawString(xh.ToString(CultureInfo.CurrentUICulture), e.InheritedRowStyle.Font, solidBrush, e.RowBounds.Location.X + 5, e.RowBounds.Location.Y + 4);
}
#region 重绘datagridview表头
DataGridView dgv = (DataGridView )(sender);
if (e.RowIndex == -1 && (e.ColumnIndex == 1 || e.ColumnIndex == 2))
{
//e.CellStyle.Font = new Font(dataGridView1.DefaultCellStyle.Font, FontStyle.Bold);
//e.CellStyle.WrapMode = DataGridViewTriState.True;
if (e.ColumnIndex == 1)
{
top = e.CellBounds.Top;
left = e.CellBounds.Left;
height = e.CellBounds.Height;
width1 = e.CellBounds.Width;
}
int width2 = this .dataGridView1.Columns[2].Width;
Rectangle rect = new Rectangle(left, top, width1 + width2, e.CellBounds.Height);
using (Brush backColorBrush = new SolidBrush(e.CellStyle.BackColor))
{
//抹去原来的cell背景
e.Graphics.FillRectangle(backColorBrush, rect);
}
using (Pen gridLinePen = new Pen(dgv.GridColor))
{
//画表头的左、上、右、下边线
//e.Graphics.DrawLine(gridLinePen, left, top , left, top + height);
e.Graphics.DrawLine(gridLinePen, left, top , left + width1 + width2-1, top );
e.Graphics.DrawLine(gridLinePen, left + width1 + width2 - 1, top, left + width1 + width2 - 1, top + height-2);
e.Graphics.DrawLine( new Pen (Color.FromArgb(160, 160, 160)), left, top + height - 1, left + width1 + width2-1, top + height - 1);
//计算绘制字符串的位置
string columnValue = "编辑" ;
SizeF sf = e.Graphics.MeasureString(columnValue, e.CellStyle.Font);
float lstr = (width1 + width2 - sf.Width) / 2;
float rstr = (height - sf.Height) / 2;
//画出文本框
if (columnValue != "" )
{
e.Graphics.DrawString(columnValue, e.CellStyle.Font,
new SolidBrush (e.CellStyle.ForeColor),
left + lstr,
top + rstr,
StringFormat.GenericDefault);
}
}
e.Handled = true;
}
#endregion
- c# WinForm开发 DataGridView控件的各种操作总结(单元格操作,属性设置)
一.单元格内容的操作 *****// 取得当前单元格内容 Console.WriteLine(DataGridView1.CurrentCell.Value); // 取得当前单元格的列 Index ...
- 转:c# WinForm开发 DataGridView控件的各种操作总结(单元格操作,属性设置)
一.单元格内容的操作 *****// 取得当前单元格内容 Console.WriteLine(DataGridView1.CurrentCell.Value); // 取得当前单元格的列 Index ...
- DEVexpress GridControl 属性设置
1. 如何解决单击记录整行选中的问题 View->OptionsBehavior->EditorShowMode 设置为:Click 2. 如何新增一条记录 (1).gridView.Ad ...
- DEV控件GridControl常用属性设置
1. 如何解决单击记录整行选中的问题 View->OptionsBehavior->EditorShowMode 设置为:Click 2. 如何新增一条记录 (1).gridView.Ad ...
- DevExpress GridView属性设置 z
本文主要总结控件的属性设置,附上图片,给大家一个参考.后续会给大家分享功能实现和使用的小技巧. GirdControl是数据的容器,它包含多种显示方式,GridView则是一种二维表格视图. 绑定数据 ...
- DataGridView 列自适应宽度 设置
代码: Columns[i].AutoSizeMode = DataGridViewAutoSizeColumnMode.AllCells; 或者设置DataGridView的AutoSizeColu ...
- white-space 属性设置如何处理元素内的空白
定义和用法white-space 属性设置如何处理元素内的空白. 这个属性声明建立布局过程中如何处理元素中的空白符.值 pre-wrap 和 pre-line 是 CSS 2.1 中新增的. 默认值: ...
- (转)DevExpress GridView属性设置
GirdControl是数据的容器,它包含多种显示方式,GridView则是一种二维表格视图. 绑定数据源: List<Student> list = new List<Studen ...
- DEV控件GridControl常用属性设置(转)
1. 如何解决单击记录整行选中的问题 View->OptionsBehavior->EditorShowMode 设置为:Click 2. 如何新增一条记录 (1).gridView. ...
随机推荐
- Intellij IDEA 配置最简单的maven-struts2环境的web项目
在idea里搭建maven项目 看着网上大神发的各种博客,然后自己搭建出来一个最简单的maven-strtus2项目,供初学者学习 新建project
- ORACLE常用SQL优化hint语句
在SQL语句优化过程中,我们经常会用到hint,现总结一下在SQL优化过程中常见Oracle HINT的用法: 1. /*+ALL_ROWS*/ 表明对语句块选择基于开销的优化方法,并获得最佳吞吐量, ...
- Apache配置文件讲解
持续作用扩展自 HTTP/1.0 和 HTTP/1.1 的长连接特性.提供了长效的 HTTP 会话,用以在同 一个 TCP 连接中进行多次请求. 在某些情况下, 这样的方式会对包含大量图片的 ...
- php : 常用函数
常用函数: <?php /** * 获取客户端IP * @return [string] [description] */ function getClientIp() { $ip = NULL ...
- C++Primer 5th 练习 12.19
这阵子真是太忙了, 连续做了四个课设. 当然这并不能作为好久没写博客的借口, 没写博客的主要原因只有一个: 懒. 最近又开始回顾C++的语法与特性(据说C++就是一门需要反复回顾的语言),以及学习C+ ...
- python走起之第十五话
CSS Positioning(定位) 定位有时很棘手! 决定显示在前面的元素! 元素可以重叠! Positioning(定位) CSS定位属性允许你为一个元素定位.它也可以将一个元素放在另一个元素后 ...
- VR外包 虚拟现实外包 北京软件公司
我们制作各类型VR全景虚拟现实,增强现实视频制作.录制等项目.品质保证,售后完备,可签合同.contectus: 13911652504(技术经理tommy) 承揽VR外包 虚拟现实外包 U3D外包( ...
- easyui 随笔
问题1:easyui-datagrid中,如果装载datagrid的表格通过javascript 或者 jquery 来resize,那么将会reload重新加载数据.这样当我们调整的时候不得不重新发 ...
- org.dbunit.database.ambiguoustablenameexception
对于一个数据库下面多个shema的情况,如果使用DBUNIT配置会出现,上面的错误,不清楚的表名,解决如下 增加红色的shema指定 参考:http://stackoverflow.com/quest ...
- nodejs的第五天学习笔记
一.调试nodejs代码 1)使用console.log() 使用麻烦,用了以后还要删除 2)nodejs的自带调试器 -node debug a.js 没有任何作用,一个玩具,将来有一天可以会变得强 ...