zoukankan      html  css  js  c++  java
  • 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;

  • 相关阅读:
    演示stop暴力停止线程导致数据不一致的问题,但是有些有趣的发现 (2017-07-03 21:25)
    Fragment的startActivityForResult和Activity的startActivityForResult的区别
    Maven实战(七)settings.xml相关配置
    vue-cli脚手架引入element UI的正确打开方式
    node起server--axios做前端请求----进行CORS--跨域请求
    ES6 promise简单实现
    实现一个简单的订阅与发布模式的代码块,和redux
    git使用笔记
    用yeoman搭建react画廊项目笔记
    npm包管理器小节一下
  • 原文地址:https://www.cnblogs.com/dyufei/p/2573954.html
Copyright © 2011-2022 走看看