一、DataGridView属性设置

1、我们单击选中行的时候,默认是选择一个单元格,不能选择一整行,我们只需设置DataGridView的属性SelectionMode为FullRowSelect 。用代码表示:this.dataGridView1.SelectionMode =DataGridViewSelectionMode.FullRowSelect;

2、选择多行,可设置DataGridView的属性MultiSelect为false 。 用代码表示:this.dataGridView1.MultiSelect = false;这样就使DataGridView不能够选择多行,只能选择一行了

3、是否自动创列:dataGridView1.AutoGenerateColumns = false;

4、DataGridView这个控件会默认的在第一行第一列选中。这个问题我在网上看到了很多回答,也有很多人问。可能是我用的方法不对,效果不是很好后来找到了这种答案:

  dataGridView1.ClearSelection();一行就可以。

5、设置标题样式&字体:首先把这个“EnableHeadersVisualStyles”属性设置为false。

在然后设置标题的样式,设置这个属性“ColumnHeadersDefaultCellStyle”:

6、设置行的样式,设置DefaultCellStyle属性:

二、DataGridView事件

1、单击项或双击行时,获取行的数据(CellClick)

 private void DGV_CellClick(object sender, DataGridViewCellEventArgs e)
{ if (e.RowIndex != -)//判断是否点在行上
{
txt_No.Text = this.DGV["Col_No", e.RowIndex].Value.ToString();
txt_Name.Text = this.DGV["Col_Name", e.RowIndex].Value.ToString();
txt_Type.Text = this.DGV["Col_Type", e.RowIndex].Value.ToString();
txt_Time.Text = this.DGV["Col_Time", e.RowIndex].Value.ToString();
}
}

“Col_No”。“Col_Name”,“Col_Type”,“Col_Time”是列名。

2、在单元格的内容需要设置格式以便于显示时发生。(CellFormatting)

 /// <summary>
/// 如果列名Col_IsEnabled列的值为1则显示启用,否则显示禁用
/// </summary>
/// <param name="sender"></param>
/// <param name="e"></param>
private void DGV_CellFormatting(object sender, DataGridViewCellFormattingEventArgs e)
{
if (DGV.Columns[e.ColumnIndex].Name == "Col_IsEnabled")
{
if ((e.Value).ToString().Trim() == "")
{
e.Value = "启用";
}
else
{
e.Value = "禁用";
}
}
}

改变列值

代码示例:

using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Windows.Forms; namespace WindowsFormsApplication3
{
public partial class Form1 : Form
{
public Form1()
{
InitializeComponent();
} private void Form1_Load(object sender, EventArgs e)
{ } private void dataGridView1_CellFormatting(object sender, DataGridViewCellFormattingEventArgs e)
{
if ((e.RowIndex >= ) && (e.ColumnIndex >= ))
{
if (dataGridView1.Columns[e.ColumnIndex].Name == "Col_IsEnable")
{
if ((e.Value).ToString().Trim() == "")
{
e.Value = "启用";
e.CellStyle.ForeColor = Color.Red;
dataGridView1.Columns[e.ColumnIndex].Width = ; //设置列宽 }
else if ((e.Value).ToString().Trim() == "")
{
e.Value = "禁用";
e.CellStyle.ForeColor = Color.Green;//设置字体前景
e.CellStyle.BackColor = Color.Purple;//设置背景色
dataGridView1.Rows[e.RowIndex].Height = ;//设置行高
}
}
}
} private void dataGridView1_CellMouseClick(object sender, DataGridViewCellMouseEventArgs e)
{
if (e.RowIndex != -)
{
textBox1.Text = this.dataGridView1["Col_Id", e.RowIndex].Value.ToString();
textBox2.Text = this.dataGridView1["Col_Name", e.RowIndex].Value.ToString();
textBox3.Text = this.dataGridView1["Col_Age", e.RowIndex].Value.ToString();
textBox4.Text = this.dataGridView1["Col_Sex", e.RowIndex].Value.ToString();
comboBox1.Text = this.dataGridView1["Col_IsEnable", e.RowIndex].Value.ToString();
}
} private void button1_Click(object sender, EventArgs e)
{
DataGridViewRow dr = new DataGridViewRow();
dr.CreateCells(dataGridView1);
dr.Cells[].Value = textBox1.Text.ToString().Trim();
dr.Cells[].Value = textBox2.Text.ToString().Trim();
dr.Cells[].Value = textBox3.Text.ToString().Trim();
dr.Cells[].Value = textBox4.Text.ToString().Trim();
dr.Cells[].Value = comboBox1.Text.ToString();
// dataGridView1.Rows.Insert(0, dr);     //插入的数据作为第一行显示
dataGridView1.Rows.Add(dr); //插入的数据作为最后一行显示
} }
}

3、某一列不可编辑:

DGV.Columns["列名"].ReadOnly = true;

或:

DGV.Columns[i].ReadOnly = true;

DataGridView 控件用法(可能不是很全面,因为这是自己常常用到的一些小总结):的更多相关文章

  1. 关于Datagridview控件用法的一些总结(设置列chicun)

    1. 关于Datagridview控件用法的一些总结:http://www.cnblogs.com/mingjiatang/p/4968049.html

  2. 关于Datagridview控件用法的一些总结

    一.引言 Datagridview控件在winform开发中还是比较常用,一般的数据库系统都会使用它,但是想要友好的展示数据,形成良好的用户界面,那么就要对c#库中默认的Datagridview设置进 ...

  3. WinForm开发(1)——DataGridView控件(1)——C# DataGridView控件用法介绍

    DataGridView控件在实际应用中非常实用,特别需要表格显示数据时.可以静态绑定数据源,这样就自动为DataGridView控件添加相应的行.假如需要动态为DataGridView控件添加新行, ...

  4. DataGridView控件用法二:常用属性

    通常会设置的DataGridView的属性如下: AllowUserToAddRows - False指示是否向用户显示用于添加行的选项,列标题下面的一行空行将消失.一般让其消失.AllowUserT ...

  5. DataGridView控件用法合集

    1.当前的单元格属性取得.变更 Console.WriteLine(DataGridView1.CurrentCell.Value) Console.WriteLine(DataGridView1.C ...

  6. winform DataGridView控件判断滚动条是否滚动到当前已加载的数据行底部 z

    http://www.zuowenjun.cn/post/2015/05/20/162.html 判断 DataGridView控件滚动条是否滚动到当前已加载的数据行底部,其实方法很简单,就是为Dat ...

  7. DataGridView控件

    DataGridView控件 DataGridView是用于Windows Froms 2.0的新网格控件.它可以取代先前版本中DataGrid控件,它易于使用并高度可定制,支持很多我们的用户需要的特 ...

  8. DataGridView控件-[引用]

    DataGridView控件 DataGridView是用于Windows Froms 2.0的新网格控件.它可以取代先前版本中DataGrid控件,它易于使用并高度可定制,支持很多我们的用户需要的特 ...

  9. DataGridView控件使用大全说明-各种常用操作与高级操作

    DataGridView控件 DataGridView是用于Windows Froms 2.0的新网格控件.它可以取代先前版本中DataGrid控件,它易于使用并高度可定制,支持很多我们的用户需要的特 ...

随机推荐

  1. [Java] java中的异常处理-续

    异常处理器,它由try, catch, finally以及随后的程序块组成.finally不是必须的. catch的括号有一个参数,代表所要捕捉的异常的类型.catch会捕捉相应的类型及其衍生类.tr ...

  2. Java SE 第十一讲----面向对象特征之封装2

    1.如果一个类包含了属性跟方法,那么该类的每一个对象都具有自己的属性,但无乱一个类有多少个对象,这些对象共享同一个方法. 2.关于方法参数传递的总结: 对于Java中的方法参数传递,无论传递的是原生数 ...

  3. 异步任务神器 Celery 简明笔记

    转自:http://www.jianshu.com/p/1840035cb510 异步任务 异步任务是web开发中一个很常见的方法.对于一些耗时耗资源的操作,往往从主应用中隔离,通过异步的方式执行.简 ...

  4. jQuery学习笔记----入门

    基础语法是:$(selector).action() 美元符号定义 jQuery 选择符(selector)“查询”和“查找” HTML 元素 jQuery 的 action() 执行对元素的操作

  5. (转)log4net的配置详解

    原文地址:http://blog.csdn.net/pfe_nova/article/details/12225349 log4net是一款优秀的第三方日志框架,可以很容易的加载到开发项目中(引用lo ...

  6. 一个JS定时器类

    学习js,因为函数和定时器直接的关系是非绑定的.我不能说我开启一个定时,然后拿一个变量去记录这个setInterval的返回值,这样很麻烦. 本着面向对象的思想,利用业余时间(周末在家里)写了一个类, ...

  7. IOS开发-jqeurey mobile

    有一阵子没写东西了,最近打算重新拾起开发,做点手机上的东东,选中了phonegap.jquery mobile,phonegap的部署网上非常多,有空了再班门弄斧,这里先记下jquery mobile ...

  8. Ubuntu上部署Ghost博客

    所有文章搬运自我的个人主页:sheilasun.me 刚刚成功把自己的ghost博客部署到Linode VPS上了,在这里回顾并顺便整理一下从购买域名到部署代码到服务器的整个过程. 购买域名 万网或者 ...

  9. Effective Modern C++翻译(1):序言

    /*********************************************************** 关于书: 书是我从网上找到的effective Modern C++的样章,内 ...

  10. EF,ADO.NET Entity Data Model简要的笔记

    1. 新建一个项目,添加一个ADO.NET Entity Data Model的文件,此文件会生成所有的数据对象模型,如果是用vs2012生的话,在.Designer.cs里会出现“// Defaul ...