dataGrideView的使用

总的连接地址:http://group.cnblogs.com/topic/40730.html

 微软解说:https://msdn.microsoft.com/zh-cn/library/system.windows.forms.datagridview.datasource.aspx

成員說明             
 AllCells資料行寬度會調整,以適合資料行中的所有儲存格的內容 (包括標題儲存格)。  
 AllCellsExceptHeader資料行寬度會調整,以適合資料行中的所有儲存格的內容 (不包括標題儲存格)。  
 ColumnHeader資料行寬度會調整,以適合資料行行首儲存格的內容。  
 DisplayedCells資料行寬度會調整,以適合資料行中的所有儲存格的內容 (位在目前顯示在螢幕上的資料列中),包括標題儲存格。  
 DisplayedCellsExceptHeader資料行寬度會調整,以適合資料行中的所有儲存格的內容 (位在目前顯示在螢幕上的資料列中),不包括標題儲存格。  
 Fill資料行寬度會調整,使得所有資料行的寬度可以剛好填滿控制項的顯示區,且必須要使用水平捲動方式,才能讓資料行寬度維持在DataGridViewColumn.MinimumWidth  屬性值之上。相對的資料行寬度是由相對的  DataGridViewColumn.FillWeight 屬性值所決定。 
 None資料行寬度不會自動調整。 
 NotSet資料行的調整大小行為是繼承自 DataGridView.AutoSizeColumnsMode 屬性。 

 

 

// 行和列的删除
dataGridView1.Columns.Remove("Column1"); // 删除名为"Column1"的列
dataGridView1.Columns.RemoveAt(0); //删除第一列
dataGridView1.Rows.RemoveAt(0); // 删除第一行

//行头列头的隐藏
dataGridView1.ColumnHeadersVisible = false;
dataGridView1.RowHeadersVisible = false;

 

//行列的隐藏
dataGridView1.Columns[0].Visible = false;
dataGridView1.Rows[0].Visible = false;

 

//int RowsCount= dataGridView1.Rows.Count;//获取总行数目
//int currentRow = dataGridView1.CurrentRow.Index;//得到当前行号
//dataGridView1.MultiSelect = false;//只能单行被选中
//dataGridView1.SelectionMode = DataGridViewSelectionMode.FullRowSelect;//单击单元格,选中整行
//dataGridView1.RowHeadersVisible = false; //隐藏行头
//dataGridView1.DefaultCellStyle.SelectionForeColor = Color.Black;//文本颜色
//dataGridView1.DefaultCellStyle.SelectionBackColor = Color.Honeydew;//背景颜色
//dataGridView1.AllowUserToResizeColumns = false1; //列不可拉伸
//dataGridView1.AllowUserToResizeRows = false;//行不可拉伸

//dataGridView1.ColumnHeadersHeightSizeMode = DataGridViewColumnHeadersHeightSizeMode.DisableResizing;//禁止用户改变列头的高度
//dataGridView1.Sort(dataGridView1.Columns["MacSN"], ListSortDirection.Ascending);//升序排序

//dataGridView1.AutoSizeColumnsMode = DataGridViewAutoSizeColumnsMode.AllCells;//设定包括Header和所有单元格的列宽自动调整

//dataGridView1.AllowUserToAddRows = false;//不能手动增加新行,即隐藏最后空白一行,但是,可以通过程序: DataGridViewRowCollection.Add 为 DataGridView 追加新行。

 把“ "EnableHeaderVisualStyles”设置为false才可以。this.dataGridView1.ColumnHeadersDefaultCellStyle.ForeColor=Color.Red;//列头颜色

 

 

4) 删除选中行

foreach (DataGridViewRow r in dataGridView1.SelectedRows)
{
    if (!r.IsNewRow)
    {
        dataGridView1.Rows.Remove(r);
    }
}

5)当前单元格指的是 DataGridView 焦点所在的单元格,它可以通过 DataGridView 对象的 CurrentCell 属性取得。如果当前单元格不存在的时候,返回Nothing(C#是null)

// 取得当前单元格内容
Console.WriteLine(dataGridView1.CurrentCell.Value);
// 取得当前单元格的列 Index
Console.WriteLine(dataGridView1.CurrentCell.ColumnIndex);
// 取得当前单元格的行 Index
Console.WriteLine(dataGridView1.CurrentCell.RowIndex);

6)调整栏位显示位置到最后

dataGridView1.Columns[3].DisplayIndex = 5;

8)设定DataGridView中栏位的宽度

dataGridView1.Columns[1].AutoSizeMode = DataGridViewAutoSizeColumnMode.DisplayedCells;
dataGridView1.Columns[0].AutoSizeMode = DataGridViewAutoSizeColumnMode.ColumnHeader;
dataGridView1.Columns[0].Width = 110;
dataGridView1.AutoSizeColumnsMode = DataGridViewAutoSizeColumnsMode.AllCells;//设定包括Header和所有单元格的列宽自动调整

 

13)遍历checkboxcolumn选中的行

 

foreach (DataGridViewRow dataGridViewRow in dataGridView名字.Rows)
{
if (Convert.ToBoolean(dataGridViewRow.Cells["dataGridViewCheckBoxColumn这一列的名字"].Value)) //判断是否勾选
{
//勾选之后的操作
}
}

 

 17)排序

dataGridView1.Sort(dataGridView1.Columns[0], ListSortDirection.Descending);
第一个参数表示用哪一个列来进行排序
第二个参数是个枚举,有两个成员:
ListSortDirection.Ascending表示升序
ListSortDirection.Descending表示降序

 

18)删除选中的CheckBox行 

for (int i = 0; i < dataGridView2.Rows.Count; i++)
{
if (dataGridView2.Rows[i].Cells[0].EditedFormattedValue.ToString() == "True")
{
//如果CheckBox已选中,则在此处继续编写代码
//Console.WriteLine(i + "行已选中");
str = dataGridView2.Rows[currentRow].Cells["MacSN"].Value.ToString()

}

19)CheckBox全选

 for (int i = 0; i < DataGridView1.Rows.Count; i++)
            {
                //判断复选框是否选中
                if ((DataGridView1.Rows[i].Cells[0].EditedFormattedValue.ToString().Trim()).Equals("False"))
                {
                    //设置复选框选中
                    DataGridView1.Rows[i].Cells[0].Value = "True";
                }
            }





 1.各行显示不同的颜色 和 分页显示内容: http://www.cnblogs.com/an-wl/archive/2008/11/10/1330987.html

 2.如何于DataGridView中使用计算字段,计算它们之间的值:http://www.cnblogs.com/liminzhang/archive/2006/12/15/592955.html

 3.DataGridView数据绑定的一般过程,可以与SQL绑定:http://www.cnblogs.com/slcfhr/archive/2006/07/20/456003.html

 4.DataGridView中虚拟模式(Virtual Mode)的使用:http://www.cnblogs.com/maweifeng/archive/2006/09/17/506574.html

 

 

 

转载于:https://www.cnblogs.com/liuxingleiyu/p/6140598.html

1. 基类说明 1.1 基类结构图 1.2 基类说明 1.2.1 BaseEditClass BaseEditClass是所有单表编辑功能的基类。BaseEditClass从NSGForm继承,以处理统一的界面和字体风格。 BaseEditClass抽象出了编辑类功能通用的方法并定义为基类方法,以便子类继承,并增加自己的代码。  自定义属性 名称 说明 DataTable 功能所编辑的数据表 DataState 功能所处的状态:浏览(dsBrowse)、新增(dsInsert)、编辑(dsEdit) BatchSave 是否批量提交数据表,默认为False DeleteWarn 在删除记录时是否提示,默认为True  自定义方法 名称 说明 FormInit 在FormLoad时被调用,具体功能中可重载该方法添加自定义的初始化代码 PostData 具体功能中需要重载该方法,并调用具体的TableAdapter.Update(row),以保存数据至数据库。 RefreshData 统一的刷新数据表过程,具体功能中需要重载该方法,并调用具体的TableAdapter.Fill(DataTable),以查询数据 DataValid 统一的数据验证方法,在保存数据前被调用。具体功能中可重载该方法添加自定义的数据校验代码 NewRecord 在新增数据时被调用,在具体过程中可重载该方法添加自定义的新增记录默认值 SaveData 保存数据的方法,具体功能中调用该过程保存数据 DeleteData 删除数据的方法,具体功能中调用该过程删除数据 CancelData 取消数据修改的方法,具体功能中调用该过程取消数据修改 1.2.2 BaseGridEdit BaseGridEdit是所有直接使用DataGridView进行编辑的功能的基类。BaseGridEdit从BaseEditClass继承。 自定义属性 名称 说明 Grid 编辑所用的DataGridView 自定义方法 名称 说明 RecordValid 统一的数据验证方法,在单条保存数据前被调用。具体功能中可重载该方法添加自定义的数据校验代码 1.2.3 BaseGridEditForm BaseGridEditForm是所有直接使用DataGridView进行编辑的功能的模板。所有直接使用DataGridView进行编辑的功能都需要从该模板拷贝后进行修改。 2. 模板使用方法 2.1 BaseGridEditForm 使用BaseGridEditForm需要按以下四步操作就可以得到需要的功能。 一、 先从BaseGridEditForm拷贝文件到工程后修改类名、命名空间 二、 在项目的数据集中增加TableAdapter,以查询需要维护的指定的数据表 三、 将DataGridView绑定到新增的数据表 四、 修改以下基类方法 名称 说明 构造方法 增加”DataTable属性=新增数据表”的代码 FormInit 增加需要的Form初始化代码,如RefreshData以获得数据 PostData 增加一行代码:新增的TableAdapter.Update(row) RefreshData 增加使用新增TableAdapter.Fill(DataTable)的代码,以获得查询数据。注意:代码需要写在IsRefreshData = true;和 IsRefreshData = false;语句的中间 RecordValid 增加自定义的数据校验语句。 NewRecord 增加自定义的新增数据默认值代码。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值