DataGridView(一)

1、DataGridView的特点

(1)DataGridView 一次只能显示一个表。如果绑定整个 DataSet,则(DataMember 属性 要设置为表名) 。否则不会显示任何数据。

(2)允许编辑数据。在单元格中双击或按 F2 来修改当前值。

(3)支持自动排序。在列标题中单击该字段,其值按升序或降序对值进行排序。(默认,排序时会按字母或数字顺序进行排序,字母顺序区分大小写)。

(4)支持多种选择,(可以通过单击并拖动来突出显示一个单元格、多个单元格或多个行,左上角的方块可以选择整个表)。

(5)支持自动调整大小,(在标题之间的列分隔符上双击,使左边的列自动按照单元格的内容展开或收缩)。

(6)在处理大量数据时,可以将 VirtualMode 属性设置为 true,以便显示可用数据的子集。

2、绑定数据

使用DataSource属性,将数据绑定到DataGridView。有两种方法,但一般使用第一种。

(1)

DataSet ds = new DataSet();
DataAdapter.Fill(ds, "TableName");
DataGridView1.DataSource = ds.Tables("TableName");

(2)

DataSet ds = new DataSet();
DataAdapter.Fill(Dts, "TableName");
DataGridView1.DataMember = "TableName";
DataGridView1.DataSource = ds;

3、当前单元格的操作

用DataGridView的CurrentCell属性可以 取得或修改当前单元格(及光标所在的单元格)的内容。

(1)取得当前单元格的值

DataGridView1.CurrentCell.Value;

(2)取得当前单元格值的类型

DataGridView1.CurrentCell.ValueType;

(3)取得当前单元格所在的列索引

DataGridView1.CurrentCell.ColumnIndex;

(4)取得当前单元格所在的行 索引

DataGridView1.CurrentCell.RowIndex;

3、行、列的隐藏和删除

(1) 行、列的隐藏

A:隐藏第n列,或“Name”列

DataGridView1.Columns[n-1].Visible = false;

DataGridView1.Columns[“Name”].Visible = false;

B:隐藏第n行,或当前单元格所在的行

DataGridView1.Rows[n-1].Visible = false;

DataGridView1.Rows[DataGridView1.CurrentCell.RowIndex].Visible = false;

(2) 行头、列头的隐藏

A:隐藏列头

DataGridView1.ColumnHeadersVisible = false;

B:隐藏行头

DataGridView1.RowHeadersVisible = false;

(3)删除列

A:删除指定列,如删除“Name”列

DataGridView1.Columns.Remove(“Name”);

B: 删除第n列

DataGridView1.Columns.RemoveAt(n-1);

(4)删除行

A:删除第n行

DataGridView1.Rows.RemoveAt(n-1);

B:删除选中行

foreach (DataGridViewRow row  in DataGridView1.SelectedRows)

{

    if (!row.IsNewRow)

    {

        DataGridView1.Rows.Remove(r);

    }

}

4、冻结列或行

当某列被冻结(及固定)时,该列左侧的所有列不随着水平滚动条的滚动而移动,同理当某行冻结时,该行上面的所有行不随着垂直滚动条的滚动而移动。

(1)冻结列

DataGridView1.Columns[n-1].Frozen = true;

DataGridView1.Columns[“Name”].Frozen = true;

(2)冻结行

DataGridView1.Rows[n-1].Frozen = true;

原文地址:https://www.cnblogs.com/dyufei/p/2573954.html