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