datagridview选中一行,DataGridView操作技巧
datagridview选中一行,DataGridView操作技巧详细介绍
本文目录一览: winform怎么删除datagridview选中的一行并更
添加删除用户。在winform软件中,在“添加删除用户”的窗体中直接删除datagridview选中的一行并更就可以了。Winform,Net开发平台中对WindowsForm的称谓。
c# datagridview 如何选中行,以及怎么获取选中行的数据
可以设置DataGridView的SelectionMode属性为FullRowSelect 实现左键点击选取整行,右击的话就需要在鼠标点击事件里面实现了如下:private void dataGridView1_CellMouseClick(object sender, DataGridViewCellMouseEventArgs e){if (e.ColumnIndex < 0 || e.RowIndex < 0) return;if (e.Button == System.Windows.Forms.MouseButtons.Right){dataGridView1.Rows[e.RowIndex].Cells[e.ColumnIndex].Selected = true;}}右键菜单自己设置关联上dgv就可以,右键菜单的按钮点击事件内容如下:if (dataGridView1.CurrentRow == null) return;DataGridViewRow dgvr = dataGridView1.CurrentRow;string val = dgvr.Cells["???"].Value.ToString();你自己要获取的数据
扩展内容c#怎么获取datagridview选中多行的每一行中的某一列的值
var datagridview = new DataGridView();var dataselect = datagridview.SelectedRows;var label = new Label();foreach (DataGridViewRow row in dataselect){label.Text += row.Cells[1].Value + "\n";}c# datagridview 如何选中行-搜狗百科
可以设置DataGridView的SelectionMode属性为FullRowSelect 实现左键点击选取整行,右击的话就需要在鼠标点击事件里面实现了
如下:
private void dataGridView1_CellMouseClick(object sender, DataGridViewCellMouseEventArgs e)
{
if (e.ColumnIndex < 0 || e.RowIndex < 0) return;
if (e.Button == System.Windows.Forms.MouseButtons.Right)
{
dataGridView1.Rows[e.RowIndex].Cells[e.ColumnIndex].Selected = true;
}
}
右键菜单自己设置关联上dgv就可以,右键菜单的按钮点击事件内容如下:
if (dataGridView1.CurrentRow == null) return;
DataGridViewRow dgvr = dataGridView1.CurrentRow;
string val = dgvr.Cells["???"].Value.ToString();你自己要获取的数据
可以设置DataGridView的SelectionMode属性为FullRowSelect 实现左键点击选取整行,右击的话就需要在鼠标点击事件里面实现了
如下:
private void dataGridView1_CellMouseClick(object sender, DataGridViewCellMouseEventArgs e)
{
if (e.ColumnIndex < 0 || e.RowIndex < 0) return;
if (e.Button == System.Windows.Forms.MouseButtons.Right)
{
dataGridView1.Rows[e.RowIndex].Cells[e.ColumnIndex].Selected = true;
}
}
右键菜单自己设置关联上dgv就可以,右键菜单的按钮点击事件内容如下:
if (dataGridView1.CurrentRow == null) return;
DataGridViewRow dgvr = dataGridView1.CurrentRow;
string val = dgvr.Cells["???"].Value.ToString();你自己要获取的数据
赞同一楼的做法.选定FullRowSelect.
datagridview1.Rows[i].Cells["列名"].Value
dataGridView1.CurrentRow.Cells[""].Value
C#如何获取DataGridView对象单元格的内容,这里介绍下获取方法。
1、首先需要在事件列表中找到DataGridView对象的CellClick事件。
2、然后在此事件中,会有DataGridCiewCellEventArgs事件变量e。
3、此时便能利用DataGridCiewCellEventArgs事件变量e的RowIndex属性获得行索引,但是我们需要加1。
4、并且还能通过CurrentCellAddress属性组的X和Y坐标,也是能够获得行列索引。
DataGridView操作技巧
通常会设置的DataGridView的属性
AllowUserToAddRows False
指示是否向用户显示用于添加行的选项 列标题下面的一行空行将消失 一般让其消失
AllowUserToDeleteRows False
指示是否允许用户从DataGridView删除行 一般不允许
AllowUserToOrderColumns False
指示是否启用手动列重新放置 一般不允许
AllowUserToResizeColumns True
指示用户是否可以调整列的大小 一般允许
AllowUserToResizeRows False
指示用户是否可以调整行的大小 一般不允许
AutoSizeColumnsMode Fill
确定可见列的自动调整大小模式
BorderStyle None/FixedSingle/Fixed D
DataGridView的边框样式
GridColor 任意
分隔DataGridView单元格的网格线的颜色
MultiSelect False
指示用户一次是否可以选择DataGridView的多个单元格 行或列
ReadOnly True
指示用户是否可以编辑DataGridView控件的单元格
RowHeadersVisible False
指示是否显示包含行标题的列
SelectionMode FullRowSelected
指示如何选择DataGridView的单元格
如何获取用户所选的那个单元格中的内容?
string oop = this DataGridView SelectedRows[ ] Cells[ ] Value ToString() Trim();
上面语句的意思是将用户所选的第一行中第一个单元格中的值转换为String类型并去处两边的空格赋值给oop字符串
如何获取用户所选的那行中我想得到的单元格中的内容?
string loginID = this DataGridView Rows[e RowIndex] Cells[ LoginID ] Value ToString() Trim();
e RowIndex 获取触发此单击事件时用户所选行的下标
上面的语句写在DataGridView控件的单击事件中 双击事件也可以 LoginID是DataGridView控件中一列的列名 作用就是获取用户选中那一行的表示LoginID的内容
如何确定用户是否选择了DataGridView中的一行数据 而没有点到别处呢?
if (this DataGridView SelectedRows Count != ) {}
如何将用户所选的那行数据整体获取出来?
前提是DataGridView的数据源是一个实体类集合 这样DataGridView中的每行数据才都是一个实体类对象 将DataGridView中的一行数据整体获取出来才有意义
Student student = this DataGridView SelectedRows[ ] DataBoundItem as Student;
一般上面的语句都写在DataGridView的单击或双击事件中
弄不好在DataGridView中会显示多余的列 如何避免这种问题呢?
在DataGridView控件的Load事件的第一行写上这样的代码
private void frmMain_Load(object sender EventArgs e) {
this dataGridView AutoGenerateColumns = false; //让它不自己产生多余的列
}
lishixinzhi/Article/program/net/201311/11403
怎么让datagridview默认选中一行,系统默认的是选中第一行的第一个单元格。谢谢
1、在检索按钮里加下面一句:
dgView_RowHeaderMouseClick(null,null);
private void dgView_RowHeaderMouseClick(object sender, DataGridViewCellMouseEventArgs e)
{
dgView.CurrentRow.Selected = true;
}
3、如果后台绑定了数据,则可以用以下方式:
with datagridview1
.BindingContext(.DataSource).Position = 1'将绑定数据游标位置
.Rows(1).Selected = True'选中第二行
end with
4、如果没有绑定数据,则可以:
with datagridview1
.CurrentCell = .Rows(1).Cells(0) '设置当前单元格为第二行第一个格
.Rows(.CurrentCell.RowIndex).Selected = True '选中第二行
end with
由于CurrentRow是只读属性,可以用CurrentCell来间接设置.
datagridview 有个属性叫“SelectlionMode”,将其改成 FullRowSelect 就行了
datagridview 有个属性叫“SelectlionMode”,将其改成 FullRowSelect 就行了
1、要让datagridview默认选中一行,直接吧selection modes 设置为FullrowSelect模式即可。首先要了解datagridview的通用属性。
2、datagridview属性中有个属性叫“Selection modes”。
CellSelect:单击单元格以选中它,行列标题不能用于选择。
FullColumnSelect:单击单元格或列标题会选中它们所在的列,此时列标题不能用于排序。
FullRowSelect:单击单元格或行标题会选中它们所在的行。
......
datagridview如何单击某个单元格选中一行?
首先:
this.dataGridView1.SelectionMode = DataGridViewSelectionMode.FullRowSelect;//设置为整行被选中
然后,在dataGridView的CellClick事件中提示是否要修改当前行当前单元格的内容:
DialogResult result=MessageBox.Show("是否要修改当前行中单元格的内容?","提示信息",MessageBoxButtons.YesNo,MessageBoxIcon.Question);
if (this.dataGridView1.SelectedRows.Count > 0)
{
if (result == DialogResult.Yes)
{
//修改当前行单元格的内容
}
}
获取当前行单元格内容:
string str = this.dataGridView1.CurrentRow.Cells["列名"].Value;
LZ试试吧~~直接用手敲的,没在程序中运行。希望可以帮到你。
c#中DataGridView 如何设置 才能选中一行
在DataGridview控件中,默认单击一个单元格通常是选中单元格,而不是选中单元格所在整行。为了实现这个功能,可以在单元格的单击事件或鼠标的按下、抬起事件中添另以下代码:
dataGridView1.Rows[dataGridView1.CurrentCell.RowIndex].Selected = true;
还有个属性直接设为选中行的.,你找找
不用设置的,你鼠标放上去一点它自然就选择了。
直不过你要做删除的时候直接把删除的client事件一写就OK了。
比如说要删除DataGridView中的某一行记录,你用鼠标在这一行一点不就选中了吗?在点下删除按钮就删掉了啊!
删除的话可以写: dgv.Rows.RemoveAt(dgv.CurrentRow.Index);就OK了
你是想选中编辑呢?还是想显示选中?
如果是想显示选中的话,在生成datagrid的时候就把每一行都绑定上javascript
这个js脚本的功能是当鼠标onclick的时候让改行颜色改变
选择 datagridview其中的一行 然后在单击修改按钮 ,页面跳转
使用datagridview1_cellclick事件此事件参数(object
sender,datagridviewcelleventargs
e)
string
key=this.datagridview1.currentrow.cells[e.columnindex].value.tostring();
e.columnindex获得你所点击的这个单元格的列索引号。
传递参数的话,方法比较多。
假如在a窗体中有datagridview控件。要传递到b窗体,可以在b窗体添加一个方法以传参方式传递数据。当点击a窗体的按钮打开b窗体前调用此方法传递数据key即可。
或者可以在b窗体添加属性,在a窗体的按钮点击事件中为b窗体的这个属性赋值即可。
或者可以采用为b窗体添加构造用构造传参。
C# DataGridView 选中了一行,请问如何取消行选中?(非缺省选中)谢谢,请指教。
删除有两种情况:
1.你只是手工删除dataGridView选中行,数据库里的这行数据并没有改变,代码这样写:
if (this.dgvXFLB.SelectedRows.Count > 0)
{
DataRowView drv = dgvXFLB.SelectedRows[0].DataBoundItem as DataRowView;
drv.Delete();
}
判断是否有被选中的行,然后将该行删除,注意,只是dataGridView里移除该行了,数据库里没有发生任何改变。(dgvXFLB是dataGridView,你可以改成自己的)
2.数据库里删除该行数据:
首先你得知道这条数据的主键,它是唯一的,根据主键删除相应内容。
在这里,绑定数据我就不说了。
直接说使用Sql语句删除——
OracleCommand oracomm = new OracleCommand("delete from 表名 where ID="+主键值+"", oraconn);
oracomm.ExecuteNonQuery();
看能否对你有帮助,不明白的还可以问我。
回LZ:
既然你要做第二种,那么你的dataGridView里应该有一列是主键,选中某行时获取这行的主键就可以了。
这样获取:
OracleCommand oracomm = new OracleCommand("delete from 表名 where ID="+this.dataGridView.CurrentRow.Cells["主键列名"].Value+"", oraconn);
oracomm.ExecuteNonQuery();