DataGridView控件中如何获取选中单元格内容?
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了DataGridView控件中如何获取选中单元格内容?相关的知识,希望对你有一定的参考价值。
dgvStudent.SelectedRows[0].Cells["StudentId"].Value.ToString();
dgvStudent.Rows[e.RowIndex].Cells["StudentId"].Value.ToString();
两种写法都是获取选中单元格的值,为什么第一种会报错?【错误:索引超出范围。必须为非负值并小于集合大小。】求解
CellDoubleClick事件中
追答DataGridViewRow row = dgvStudent.SelectedRows[0];//dgvStudent.SelectionMode = FullRowSelect的情况下,不会报错,否则会报错C# 选中 DataGridView 控件中的行时显示不同的颜色
可以利用 DataGridView 控件的 SelectionMode、ReadOnly 和 SelectionBackColor 属性实现当选中DataGridView控件中的行时显示不同的颜色。
SelectionMode属性用于设置如何选择 DataGridView 的单元格。
语法如下:
public DataGridViewSelectionMode SelectionMode{get;set;}
属性值:DataGridViewSelectionMode 值之一,默认为 RowHeaderSelect。 DataGridViewSelectionMode 枚举值及说明如表 1 所示。
表1 DataGridViewSelectionMode 枚举值及说明
说明
在更改SelectionMode 届性的值时,会清除当前的选择,所以在更改行的颜色时,要注意更改和选中的顺序。
ReadOnly 属性用于设置是否可以编辑 DataGridView 控件的单元格。
语法如下:
public bool ReadOnly {get; set; }
属性值:如果用户不能编辑 DataGridView 控件的单元格,则为 true;否则为 false。默认为 false.
【例1】 禁止用户编辑 DataGridView 控件的单元格。
代码如下:
dataGridView1.ReadOnly.=true;
SelectionBackColor 属性用于设置 DataGridView 单元格在被选定时的背景色。
语法如下:
public Color SelectionBackColor ({get; set;}
属性值:Color,它表示选定单元格的背景色,默认为 Empty。
SelectionBackColor 属性包含在 DataGridViewCellStyle 类中,所以调用此属性之前要调用 DataGridViewCellIStyle 属性。
【例2】创建一个 Windows 应用程序,向窗体中添加一个 DataGridView 控件,用于显示 tb_emp表中的所有数据。然后通过 DataGridView 控件的 SelectionMode、ReadOnly 和 SelectionBackColor 属性实现选中某一行时,行的背景变色.
代码如下:
SqlConnection conn; //声明 SqlConnection 变量
private void Form1_Load(object sender,EventArgs e)
{
//实例化 SqlConnection 变量 conn,连接数据库
conn = new SqlConnection("server=.;database=db_16;uid=sa;pwd=");
//实例化 SqlDataAdapter 对象
SqlDataAdapter sda = new SqlDataAdapter("select*from tb_emp",conn;
//实例化 DataSet 对象
DataSet ds = new DataSet();
//使用 SqlDataAdapter 对象的 Fill 方法填充 DataSet
sda.Fill(ds);
//设置 dataGridView1控件的数据源
dataGridView1.DataSource = ds.Tables[0];
//设置 SelectionMode 属性为 FullRowSelect,使控件能够整行选择
dataGridView1.SelectionMode= DataGridViewSelectionMode.FullRowSelect;
//设置 dataGridView1 控件的 ReadOnly 属性,使其为只读
dataGridView1.ReadOnly =true;
//设置 dataGridView1控件的 DefaultCellStyle.SelectionBackColor 属性,使其选择行为黄绿色
dataGridView1.DefaultCellStyle.SelectionBackColor= Color.YellowGreen;
}
程序的运行结果如图1所示。
图1 选中某行时显示不同的颜色
- END -
关注小编不迷路呦~
以上是关于DataGridView控件中如何获取选中单元格内容?的主要内容,如果未能解决你的问题,请参考以下文章
c# datagridview 如何选中行,以及怎么获取选中行的数据
C# datagridview 单元格内值改变时触发了哪些事件?(winform)
我想请教你 我想实现 点击全选的时候 dev控件GridControl 中的每一列都被选中 并且我如何获取是不是选中