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全选
{
{
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
dataGrideView的使用的更多相关文章
- C#使用Command将dataGrideView表格内数据与数据库交互
本文主要介绍通过Command类使用SQL插入指令insert与查询指令select将dataGrideView表格内添加至数据库,与从数据库读出数据存放在dataGrideView表格中. C#制作 ...
- C# datagrideview插件的使用
private void btnLogin_Click(object sender, EventArgs e) { string txtUserName = this.txtUserName.Text ...
- [转] C# TextBox、DataGrideView中的数据绑定
Xavierr 原文 C#数据绑定——简单的文本框绑定.DataGridView 一.TextBox的数据绑定 经常写用一个TextBox显示某个对象,然后编辑之后再保存的程序.以前都是在TextBo ...
- 初识XML及简单工厂运用--网络电视精灵
网络电视精灵 任务描述 1. 解析XML文件中的数据 三个简单的xml文件; <?xml version="1.0" encoding="utf-8" ? ...
- 关于datagridview单元格不切换焦点无法获得新输入数据的问题解决方法
问题描述:将EXCEL中的数据导入到dataGridView中,然后通过点击toolStripButton对dataGrideView中的数据进行处理,在测试时,向dataGridView中的某个单元 ...
- DataGridView、List<T>相关操作
一.DataGridView数据转成DataTable 1.已绑定过数据源:DataTable dt = (dataGridView1.DataSource as DataTable) 2.未绑定过数 ...
- .Net中DataGridview数据如何导出到excel表
首先,这个问题在网上有很多答案,也有很多解决的方法.其次,很多人写过类似的博客 .我的这篇博客,主要是写给那些刚刚接触或接触不久.NET并使用其做程序的人,更是写个自己,记录一下方法,方便以后使用. ...
- winform常用方法
1.对象的初始化器: Class a = new Class() { id = , name = "张三" } 2.窗体间传值 ①构造函数 ②单例函数 //单例模式:确 ...
随机推荐
- Android开发之漫漫长途 Ⅵ——图解Android事件分发机制(深入底层源码)
该文章是一个系列文章,是本人在Android开发的漫漫长途上的一点感想和记录,我会尽量按照先易后难的顺序进行编写该系列.该系列引用了<Android开发艺术探索>以及<深入理解And ...
- 一次php涉及跨域功能的麻烦及解决方案
一,功能及描述 1,在后台管理网站(php)admin.xxx.com(以下简称admin),上拉取并编辑aaa.xxx.com(php,以下简称aaa)上的图片及文件 2,file_get_cont ...
- azure上连续部署web
连续部署web 连续部署web,可以在第一次部署完web应用后,方便修改和自动提交代码部署新版本的web应用.其中自动提交使用github中的webhook,使代码在master上提交修改后可以自 ...
- Error parsing column 8 (IsRecommended=0 - SByte) Dapper查询mysql数据库可空的tinyint(1)一个错误
出错条件: 1.实体属性为bool?类型 2.对应字段为可空的tinyint(1)类型 3.该字段查询结果内即含有null,又含有正常值 google答案,两种建议: 1.修改sql语句,直接cast ...
- pymysql实现MySQL与Python交互
常见MySQL操作 所需模块: pip3 install pymysql 查询(fetchone,fetchmany,fetchall): import pymysql #连接 con = pymys ...
- ibv_open_device()函数
struct ibv_context *ibv_open_device(struct ibv_device *device); 描述 函数会创建一个RDMA设备相关的context:可以通过ibv_c ...
- 学习python登录demo
要求编写登录接口 : 1. 输入用户名和密码 2.认证成功后显示欢迎信息 3.用户名输错,提示用户不存在,重新输入(5次错误,提示尝试次数过多,退出程序) 4.用户名正确,密码错误,提示密码错误,重新 ...
- Android崩溃提示 “EGL_BAD_CONFIG"
这两天将之前提到的一个室内定位程序的ArcGIS的SDK从10.2.8迁移到100.1.0. 期间反复出现奇怪的问题,最终定位到这个问题: java.lang.RuntimeException: cr ...
- mybatis实现延迟加载多对一
1.数据库表 CREATE TABLE `country` ( `cid` ) NOT NULL AUTO_INCREMENT COMMENT '国家id', `cname` ) COLLATE ut ...
- 使用Jenkins自动部署博客
title: 使用Jenkins自动部署博客 toc: true comment: true date: 2017-12-17 19:48:10 tags: ['Jenkins', 'CI'] cat ...