
这个好多方法咧。
1,可以直接通过DataGridView的重载运算符[]直接获取,
例如>>>>>>>>
dataGridView[0][1]ValueToString()。这里的0是列号,1是行号。
假如,你要取第一行第三列的值dataGridView[2][0]ValueToString()就可以了。
2,根据行来获取。
例如>>>>>>>>
你想要获取当前选定行,名称叫"Name"的单元格,你可以这样,
dataGridViewSelectedRows[0]Cells["Name"]ValueToString()
或者,你想要获取第一行名叫"Age"的单元格,你可以这样,
dataGridViewRows[0]Cells["Age"]ValueToString()
详细还是去看一下MSDN吧。里面说的很详细。而且,你还可以学到DataGridView的一些强大的功能。
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()
写个for循环就行了 循环的个数就是你DataGridViewRowscount
就是至于取出值来放到哪里就看你自己喜好了 string[],hastable这些都可以
for(int x=0;x<DataGridViewRowscount;x++)
{
dataGridView1Rows[x]Cells[你要的列的下标]ToString()
}
(1)DataGridViewCurrentRow属性暴露DataGridView的当前行,即包含用户单击的单元格的行。该属性是一个DataGridViewRow对象。
(2)以这种方式获得的DataGridViewRow对象包含一个 DataBoundItem属性,它暴露绑定到DataGridView的底层数据,负责当前行显示的数据。这个属性是object类型,因为没有限制 DataGridView必须绑定到数据库。然而,绑定到数据集时,该属性实际上是一个DataGridView对象,因此可以将它强制转换为这种类型。
(3)DataGridView类有一个Row属性,用于访问数据集中的数据行。该属性的类型是DataRow,由于使用的类型化数据集定义可以知道实际的行类型,因此可以将它强制转换为适当的类型。这里的类型是FolkDBDataSet2StoryRow。
(4)通过类型化数据集的行FolkDBDataSet2StoryRow,可以使 用属性Summary获得Summary列的值。为保持DataGridView的灵活性,必须采用这种方式。例如,如果采用较简单的方式,将不能把 DataGridView绑定到其他数据源。与NET中的所有东西一样,如果这是个问题,可创建继承DataGridView的类,并提供必要的功能使 这些更容易实现,但这种复杂性可能是不必要的。
DataBounditem:是控件显示底层数据的一个属性,通过访问它可以获取控件的底层数据,类型为 Object;
DataRowView:这是一个类,它的Row属性可以获取当前行的数据;
可知:
当我们想要获取DataGridView中的选中行时,可以这么干:
[csharp] view plain copy print
for ( int i = 0; i < dataGridViewSelectedRowsCount; i++)
{
DataRow dr = (dataGridViewSelectedRows[i]DataBoundItem as DataRowView)Row;
}
var rows = $("#datagridID")datagrid("getRows"); 这段代码是获取当前页的所有行。
for(var i=0;i<rowslength;i++)
{
//获取每一行的数据
alert(rows[i]id);//假设有id这个字段
}
datagrid是不可能获取所有行的。因为分页时从后台查询出来的数据只有本页的数据,所以不可能获取所有数据。只能获取当前页的数据。
以上就是关于如何获取到DataGridView中用户选定的单元格值全部的内容,包括:如何获取到DataGridView中用户选定的单元格值、C# dataGridView 如何自动获取所有行的值..、如何获得DataGridView中某一列中全部的值等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!
欢迎分享,转载请注明来源:内存溢出
微信扫一扫
支付宝扫一扫
评论列表(0条)