Dim SelRowColl As DataGridViewSelectedRowCollectionDim dgvRow As DataRowSelRowColl = dgvMaterialSelectedRowsFor i = 0 To SelRowCollCount - 1dgvRow = dvMaterial(SelRowColl(i)Index)Row'可得到选中的每一行next第二个问题可在form2定义一个form 变量在load form2时将form1 的窗体句柄赋给form2 中的变量在form2窗体关闭代码中,关闭form1
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
thisdatagridview1selectedrows[0]cells[1]valuetostring();//获取选中行的第一个单元格的值
后面就是依次类推了,我就不写啦
dataGridView1SelectedRows,这个是或得背选中的行
foreach (DataGridViewRow dgvr in dataGridView1SelectedRows)
{
//dgvr 就是比背选中的行,遍历,我想你懂的dataGridView1SelectedRows是一个集合,取出每一行当然遍历
//获取或设置
string msg = dgvrCells[0]Value == null "" : dgvrCells[0]ValueToString();
//如果保证烈不为空
string msg2 = dgvrCells[2]ValueToString();
dgvrCells[2]Value=“更改的”;
}
dataGridView1SelectedColumns 是背选中的列,当然取出其中一烈是一样的
如果你要取出所有行的话。那么
foreach (DataGridViewRow dgvr in dataGridView1Rows)
{
//dgvr 就是比被选中的行,遍历,
}
取出列的方式一样
当然还有最常用的,获取所有单元格的值
for (int i = 0; i < dataGridView1RowsCount; i++)
{
for (int j = 0; j < dataGridView1ColumnsCount; j++)
{
if (dataGridView1Rows[i]Cells[j]Value != null)
{
string msg3 = dataGridView1Rows[i]Cells[j]ValueToString();//取出对应的单元格的值
MessageBoxShow(msg3);
}
}
}
只得注意的是,dategridview默认是有一行空值的,当你
dataGridView1Rows[i]Cells[j]Value,这个单元格为空的时候,那么就是null,如果你强制转换为字符串将会异常,所以推介
msg3 = dataGridView1Rows[i]Cells[j]Value==null"空":dataGridView1Rows[i]Cells[j]ValueToString()
dataGridView1SelectedRows,这个是或得背选中的行
如果你想去出背选中的话,那么可以遍历
foreach (DataGridViewRow dgvr in dataGridView1SelectedRows)
{
//dgvr 就是比背选中的行,遍历,我想你懂的dataGridView1SelectedRows是一个集合,取出每一行当然遍历
//获取或设置
string msg = dgvrCells[0]Value == null "" : dgvrCells[0]ValueToString();
//如果保证烈不为空
string msg2 = dgvrCells[2]ValueToString();
dgvrCells[2]Value=“更改的”;
}
dataGridView1SelectedColumns 是背选中的列,当然取出其中一烈是一样的
如果你要取出所有行的话。那么
foreach (DataGridViewRow dgvr in dataGridView1Rows)
{
//dgvr 就是比被选中的行,遍历,
}
取出列的方式一样
当然还有最常用的,获取所有单元格的值
for (int i = 0; i < dataGridView1RowsCount; i++)
{
for (int j = 0; j < dataGridView1ColumnsCount; j++)
{
if (dataGridView1Rows[i]Cells[j]Value != null)
{
string msg3 = dataGridView1Rows[i]Cells[j]ValueToString();//取出对应的单元格的值
MessageBoxShow(msg3);
}
}
}
只得注意的是,dategridview默认是有一行空值的,当你
dataGridView1Rows[i]Cells[j]Value,这个单元格为空的时候,那么就是null,如果你强制转换为字符串将会异常,所以推介
msg3 = dataGridView1Rows[i]Cells[j]Value==null"空":dataGridView1Rows[i]Cells[j]ValueToString()
GVCard为DataGirdView
GVCardSelectedRowsCount] 获取选中行的集合
GVCardSelectedColumnsCount; 获取选中列的集合
string[] selectedContents = new string[GVCardSelectedRowsCount];
int index = 0;
foreach (DataGridViewRow gdvr in GVCardSelectedRows)
{
VCardInfoID = gdvrCells[0]ValueToString();
VCardInfoCardNumber = gdvrCells[2]ValueToString();
VCardInfoStatus = gdvrCells[3]ValueToString();
VCardInfoUnvalDate = gdvrCells[7]ValueToString();
VCardInfoValDate = gdvrCells[6]ValueToString();
VCardInfoCardType = gdvrCells[9]ValueToString();
VCardInfoCardKind = gdvrCells[4]ValueToString();
VCardInfoModifyTime = DateTimeNowToString("yyyy-MM-dd hh:mm:ss");
VCardInfoEditCard(VCardInfo);
index++;
}
以上就是关于怎么得到datagridview中所选中的多行数据全部的内容,包括:怎么得到datagridview中所选中的多行数据、vb.net 2008 在鼠标单击DataGridView 某一行时 获取这行的值、c# DataGridView中,选中了多个行,如何获取选中的每一行的数据,或者每一行的索引等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)