我用的是vs2005帮你测试的,2005用的是DataGridView,是GridView的进化版,应该是差不多的,我在DataGridView上添加了一个RowEnter事件,也是楼主说的RowCommand事件相似,接着我添加了如下的语句;
private void rowEnter(object sender, DataGridViewCellEventArgs e)
{
DataGridView temp = (DataGridView)sender;
if (eRowIndex>=1)
MessageBoxShow(tempRows[eRowIndex-1]Cells[eColumnIndex]FormattedValueToString ());
}
用途很明显,是当你选择一行中的某格时,会显示上一行相应格的数据,也就是楼主说获取上一行的数据了,要获取上一行的所有数据,对cell进行相应的处理就可以了,唯一的问题就是DataGridView有的功能GridView可能会没有~~~
写完答案才发现,不清楚楼主是在什么平台上写那方面的程序,我上面介绍的是c#的~~~
给dataGridView的IRegisterID增加模板列然后 放一个hyperlink, 在dataGridView绑定数据的时候给hyperlink的链接增加参数,该参数的值就是IDiagnoseCode的值
eitemcells(4)text
Private Sub DataGridView1_CurrentCellChanged(By Val sender As Object, By Val e As SystemEventArgs) Handles DataGridView1CurrentCellChanged
//获取选中行第一列的值,也就是第0列的值
Dim result1 As String = DataGridView1Item(0, DataGridView1CurrentCellRowIndex)ValueToStringTrim
//获取选中行第二列的值,也就是第1列的值
Dim result1 As String = DataGridView1Item(1, DataGridView1CurrentCellRowIndex)ValueToStringTrim
'有几列就写几列,如果感觉这样写代码比较累赘,你可以放到for循环里面,把列数用一个变量i代替旧可以了
End sub
dataGridView1_CellClick方法中虽然获取到了一个值,但是赋值赋给了一个内部变量id而不是全局变量。
改为下面代码就可以了
private void dataGridView1_CellClick(object sender, DataGridViewCellEventArgs e)
{
id = thisdataGridView1Rows[1]Cells[1]ValueToString()Trim();
}
可以设置DataGridView的SelectionMode属性为FullRowSelect 实现左键点击选取整行,右击的话就需要在鼠标点击事件里面实现了
如下:
private void dataGridView1_CellMouseClick(object sender, DataGridViewCellMouseEventArgs e)
{
if (eColumnIndex < 0 || eRowIndex < 0) return;
if (eButton == SystemWindowsFormsMouseButtonsRight)
{
dataGridView1Rows[eRowIndex]Cells[eColumnIndex]Selected = true;
}
}
右键菜单自己设置关联上dgv就可以,右键菜单的按钮点击事件内容如下:
if (dataGridView1CurrentRow == null) return;
DataGridViewRow dgvr = dataGridView1CurrentRow;
string val = dgvrCells[""]ValueToString();你自己要获取的数据
以上就是关于gridview如何获取选中行的上一行数据全部的内容,包括:gridview如何获取选中行的上一行数据、dataGridView 选中单元格如何获取该行的某个值。、vb.net 2008 在鼠标单击DataGridView 某一行时 获取这行的值等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)