1.设置行标题
for (int i = 0; i < rowcount; i++)
{
dataGridView1.Rows[i].HeaderCell.Value =(i+1).ToString();
}
1'设置行标题文字中心对齐、中心左对齐
dataGridView1.RowHeadersDefaultCellStyle.Alignment = DataGridViewContentAlignment.MiddleCenter;
dataGridView1.RowHeadersDefaultCellStyle.Alignment = DataGridViewContentAlignment.MiddleLeft;
2.设置第n列的宽度
dataGridView1.Columns[n].Width = 50;
dataGridView1.Columns[0].ReadOnly = true;//不允许编辑
dataGridView1.Columns[0].Resizable = DataGridViewTriState.False;//禁止改变第一列的列宽
for(int i=0;i<dataGridView1.ColumnCount;i++) //所有列禁止排序
{
dataGridView1.Columns[i].SortMode=DataGridViewColumnSortMode.NotSortable;
}
3.向单元格写入数据
dataGridView1.Rows[0].Cells[0].Value="123";
4.水平滚动条或垂直滚动条移动到指定位置
法1:FirstDisplayedScrollingRowIndex和FirstDisplayedScrollingColumnIndex等属性
法2:CurrentCell属性;
dataGridView1.FirstDisplayedScrollingColumnIndex=index0_day;
dataGridView1.CurrentCell=dataGridView1.Rows[0].Cells[index0_day];
5.dataGridView数据导出到Excel
public bool ExportDataGridview(DataGridView dgv, bool isShowExcle)
{
try
{
if (dgv.Rows.Count == 0)
return false;
//建立Excel对象
Excel.Application excel = new Excel.Application();
excel.Application.Workbooks.Add(true);
excel.Visible = isShowExcle;
//生成字段名称
for (int i = 0; i < dgv.ColumnCount; i++)
{
excel.Cells[1, i + 1] = dgv.Columns[i].HeaderText;
}
//填充数据
for (int i = 0; i < dgv.RowCount - 1; i++)
{
for (int j = 0; j < dgv.ColumnCount; j++)
{
if (dgv[j, i].ValueType == typeof(string))
{
excel.Cells[i + 2, j + 1] = "'" + dgv[j, i].Value.ToString();
}
else
{
excel.Cells[i + 2, j + 1] = dgv[j, i].Value.ToString();
}
}
}
}
catch (Exception ex)
{
label3.Text = "导出失败!"+ex.Message.ToString();
Delay(3000);
label3.Text = "";
}
return true;
}
6.获取dataGridView1中第i行第j列的值
string data1=dataGridView1.Rows[i].Cells[j].Value.toString();
string data2=dataGridView1[j,i].Value.toString();
7.for循环遍历dataGridView中的数据时,最后一行是系统行,不能取出数据,语法格式如下(不是i<dataGridView1.RowCount-1)
for (int i = 0; i < dataGridView1.RowCount-1 ;i++ )
{
;
}
8.动态添加行数和列数
public partial class MainWindow : Window
{
DataTable dt = new DataTable();
public MainWindow()
{
InitializeComponent();
DataColumn dc = new DataColumn("count", typeof(System.String));
dt.Columns.Add(dc);
dc = new DataColumn("", typeof(System.String));
dt.Columns.Add(dc);
dc = new DataColumn("", typeof(System.String));
dt.Columns.Add(dc);
dc = new DataColumn("", typeof(System.String));
dt.Columns.Add(dc);
dc = new DataColumn("", typeof(System.String));
dt.Columns.Add(dc);
dc = new DataColumn("", typeof(System.String));
dt.Columns.Add(dc);
for (int i = 1; i < 11; i++)
{
dt.Rows.Add(new object[] { (i).ToString(), ("").ToString(), ("").ToString(), ("").ToString(), ("").ToString(), ("").ToString() });
}
dataGrid1.DataSource = dt.DefaultView;
}
}
//
8.1
dataGridView1.ReadOnly = true ; //禁用编辑功能
方法一:通过手动添加Datatable,再绑定dataGridView
DataTable dt = new DataTable();//建立个数据表
dt.Columns.Add(new DataColumn("id", typeof(int)));//在表中添加int类型的列
dt.Columns.Add(new DataColumn("Name", typeof(string)));//在表中添加string类型的Name列
DataRow dr;//行
for (int i = 0; i < 3; i++)
{
dr = dt.NewRow();
dr["id"] = i;
dr["Name"] = "Name" + i;
dt.Rows.Add(dr);//在表的对象的行里添加此行
}
dataGridView1.DataSource =dt;
如果要添加一个textbox效果的列,可做如下处理
dt.Columns.Add(new DataColumn("选中", typeof(bool));
方法二:直接在dataGridView中插入
dataGridView1.ColumnCount = 4;
dataGridView1.ColumnHeadersVisible = true;
// Set the column header style.
DataGridViewCellStyle columnHeaderStyle = new DataGridViewCellStyle();
columnHeaderStyle.BackColor = Color.Beige;
columnHeaderStyle.Font = new Font("Verdana", 10, FontStyle.Bold);
dataGridView1.ColumnHeadersDefaultCellStyle = columnHeaderStyle;
// Set the column header names.
dataGridView1.Columns[0].Name = "Recipe";
dataGridView1.Columns[1].Name = "Category";
dataGridView1.Columns[2].Name = "Main Ingredients";
dataGridView1.Columns[3].Name = "Rating";
// Populate the rows.
string[] row1 = new string[] { "Meatloaf", "Main Dish", "ground beef",
"**" };
string[] row2 = new string[] { "Key Lime Pie", "Dessert",
"lime juice, evaporated milk", "****" };
string[] row3 = new string[] { "Orange-Salsa Pork Chops", "Main Dish",
"pork chops, salsa, orange juice", "****" };
string[] row4 = new string[] { "Black Bean and Rice Salad", "Salad",
"black beans, brown rice", "****" };
string[] row5 = new string[] { "Chocolate Cheesecake", "Dessert",
"cream cheese", "***" };
string[] row6 = new string[] { "Black Bean Dip", "Appetizer",
"black beans, sour cream", "***" };
object[] rows = new object[] { row1, row2, row3, row4, row5, row6 };
foreach (string[] rowArray in rows)
{
dataGridView1.Rows.Add(rowArray);
}
插入DataGridViewCheckBoxColumn列
DataGridViewCheckBoxColumn column = new DataGridViewCheckBoxColumn();
{
column.HeaderText = "选中";
column.Name = isSelected;
column.AutoSizeMode = DataGridViewAutoSizeColumnMode.DisplayedCells;
column.FlatStyle = FlatStyle.Standard;
column.ThreeState = true;
column.CellTemplate = new DataGridViewCheckBoxCell();
column.CellTemplate.Style.BackColor = Color.Beige;
}
DataGridView1.Columns.Insert(0, column);
8.1 参考地址; http://blog.csdn.net/alisa525/article/details/7350471
9.改变dataGridView的背景色
单元格的颜色dataGridView1.Rows[0].Cells[3].Style.BackColor=Color.Green;
dataGridView1.Rows[0].Cells[3].Style.BackColor=ColorTranslator.FromHtml("Green");
dataGridView1.Rows[0].Cells[3].Style.BackColor=ColorTranslator.FromHtml("FF008000");
改变某一行的颜色dataGridView1.Rows[0].DefaultCellStyle.BackColor = Color.Green;
改变某一列的颜色dataGridView1.Columns[3].DefaultCellStyle.BackColor = Color.Green;
for (int i = 0; i < rowcount; i++)
{
dataGridView1.Rows[i].HeaderCell.Value =(i+1).ToString();
}
1'设置行标题文字中心对齐、中心左对齐
dataGridView1.RowHeadersDefaultCellStyle.Alignment = DataGridViewContentAlignment.MiddleCenter;
dataGridView1.RowHeadersDefaultCellStyle.Alignment = DataGridViewContentAlignment.MiddleLeft;
2.设置第n列的宽度
dataGridView1.Columns[n].Width = 50;
dataGridView1.Columns[0].ReadOnly = true;//不允许编辑
dataGridView1.Columns[0].Resizable = DataGridViewTriState.False;//禁止改变第一列的列宽
for(int i=0;i<dataGridView1.ColumnCount;i++) //所有列禁止排序
{
dataGridView1.Columns[i].SortMode=DataGridViewColumnSortMode.NotSortable;
}
3.向单元格写入数据
dataGridView1.Rows[0].Cells[0].Value="123";
4.水平滚动条或垂直滚动条移动到指定位置
法1:FirstDisplayedScrollingRowIndex和FirstDisplayedScrollingColumnIndex等属性
法2:CurrentCell属性;
dataGridView1.FirstDisplayedScrollingColumnIndex=index0_day;
dataGridView1.CurrentCell=dataGridView1.Rows[0].Cells[index0_day];
5.dataGridView数据导出到Excel
public bool ExportDataGridview(DataGridView dgv, bool isShowExcle)
{
try
{
if (dgv.Rows.Count == 0)
return false;
//建立Excel对象
Excel.Application excel = new Excel.Application();
excel.Application.Workbooks.Add(true);
excel.Visible = isShowExcle;
//生成字段名称
for (int i = 0; i < dgv.ColumnCount; i++)
{
excel.Cells[1, i + 1] = dgv.Columns[i].HeaderText;
}
//填充数据
for (int i = 0; i < dgv.RowCount - 1; i++)
{
for (int j = 0; j < dgv.ColumnCount; j++)
{
if (dgv[j, i].ValueType == typeof(string))
{
excel.Cells[i + 2, j + 1] = "'" + dgv[j, i].Value.ToString();
}
else
{
excel.Cells[i + 2, j + 1] = dgv[j, i].Value.ToString();
}
}
}
}
catch (Exception ex)
{
label3.Text = "导出失败!"+ex.Message.ToString();
Delay(3000);
label3.Text = "";
}
return true;
}
6.获取dataGridView1中第i行第j列的值
string data1=dataGridView1.Rows[i].Cells[j].Value.toString();
string data2=dataGridView1[j,i].Value.toString();
7.for循环遍历dataGridView中的数据时,最后一行是系统行,不能取出数据,语法格式如下(不是i<dataGridView1.RowCount-1)
for (int i = 0; i < dataGridView1.RowCount-1 ;i++ )
{
;
}
8.动态添加行数和列数
public partial class MainWindow : Window
{
DataTable dt = new DataTable();
public MainWindow()
{
InitializeComponent();
DataColumn dc = new DataColumn("count", typeof(System.String));
dt.Columns.Add(dc);
dc = new DataColumn("", typeof(System.String));
dt.Columns.Add(dc);
dc = new DataColumn("", typeof(System.String));
dt.Columns.Add(dc);
dc = new DataColumn("", typeof(System.String));
dt.Columns.Add(dc);
dc = new DataColumn("", typeof(System.String));
dt.Columns.Add(dc);
dc = new DataColumn("", typeof(System.String));
dt.Columns.Add(dc);
for (int i = 1; i < 11; i++)
{
dt.Rows.Add(new object[] { (i).ToString(), ("").ToString(), ("").ToString(), ("").ToString(), ("").ToString(), ("").ToString() });
}
dataGrid1.DataSource = dt.DefaultView;
}
}
//
8.1
dataGridView1.ReadOnly = true ; //禁用编辑功能
方法一:通过手动添加Datatable,再绑定dataGridView
DataTable dt = new DataTable();//建立个数据表
dt.Columns.Add(new DataColumn("id", typeof(int)));//在表中添加int类型的列
dt.Columns.Add(new DataColumn("Name", typeof(string)));//在表中添加string类型的Name列
DataRow dr;//行
for (int i = 0; i < 3; i++)
{
dr = dt.NewRow();
dr["id"] = i;
dr["Name"] = "Name" + i;
dt.Rows.Add(dr);//在表的对象的行里添加此行
}
dataGridView1.DataSource =dt;
如果要添加一个textbox效果的列,可做如下处理
dt.Columns.Add(new DataColumn("选中", typeof(bool));
方法二:直接在dataGridView中插入
dataGridView1.ColumnCount = 4;
dataGridView1.ColumnHeadersVisible = true;
// Set the column header style.
DataGridViewCellStyle columnHeaderStyle = new DataGridViewCellStyle();
columnHeaderStyle.BackColor = Color.Beige;
columnHeaderStyle.Font = new Font("Verdana", 10, FontStyle.Bold);
dataGridView1.ColumnHeadersDefaultCellStyle = columnHeaderStyle;
// Set the column header names.
dataGridView1.Columns[0].Name = "Recipe";
dataGridView1.Columns[1].Name = "Category";
dataGridView1.Columns[2].Name = "Main Ingredients";
dataGridView1.Columns[3].Name = "Rating";
// Populate the rows.
string[] row1 = new string[] { "Meatloaf", "Main Dish", "ground beef",
"**" };
string[] row2 = new string[] { "Key Lime Pie", "Dessert",
"lime juice, evaporated milk", "****" };
string[] row3 = new string[] { "Orange-Salsa Pork Chops", "Main Dish",
"pork chops, salsa, orange juice", "****" };
string[] row4 = new string[] { "Black Bean and Rice Salad", "Salad",
"black beans, brown rice", "****" };
string[] row5 = new string[] { "Chocolate Cheesecake", "Dessert",
"cream cheese", "***" };
string[] row6 = new string[] { "Black Bean Dip", "Appetizer",
"black beans, sour cream", "***" };
object[] rows = new object[] { row1, row2, row3, row4, row5, row6 };
foreach (string[] rowArray in rows)
{
dataGridView1.Rows.Add(rowArray);
}
插入DataGridViewCheckBoxColumn列
DataGridViewCheckBoxColumn column = new DataGridViewCheckBoxColumn();
{
column.HeaderText = "选中";
column.Name = isSelected;
column.AutoSizeMode = DataGridViewAutoSizeColumnMode.DisplayedCells;
column.FlatStyle = FlatStyle.Standard;
column.ThreeState = true;
column.CellTemplate = new DataGridViewCheckBoxCell();
column.CellTemplate.Style.BackColor = Color.Beige;
}
DataGridView1.Columns.Insert(0, column);
8.1 参考地址; http://blog.csdn.net/alisa525/article/details/7350471
9.改变dataGridView的背景色
单元格的颜色dataGridView1.Rows[0].Cells[3].Style.BackColor=Color.Green;
dataGridView1.Rows[0].Cells[3].Style.BackColor=ColorTranslator.FromHtml("Green");
dataGridView1.Rows[0].Cells[3].Style.BackColor=ColorTranslator.FromHtml("FF008000");
改变某一行的颜色dataGridView1.Rows[0].DefaultCellStyle.BackColor = Color.Green;
改变某一列的颜色dataGridView1.Columns[3].DefaultCellStyle.BackColor = Color.Green;