我有一个包含经度和纬度值的 dataGridView。
我需要通过将值传递给DoSomethingMethod()
.
我不熟悉 dataGridView,因此我从 dataGridView 复制所有值并处理它List<>
下面是我在 dataGridView 中操作数据的代码
Public Main()
{
List<double> lst_Long = new List<double>();
List<double> lst_Latt = new List<double>();
for (int rows = 0; rows < dataGridView1.Rows.Count; rows++)
{
lst_Long.Add(Convert.ToDouble(dataGridView1.Rows[rows].Cells["Long"].Value));
lst_Latt.Add(Convert.ToDouble(dataGridView1.Rows[rows].Cells["Latt"].Value));
}
int ColumnCount = lst_Long.Count - 1;
int RowCount = lst_Row.Count - 1;
//Pass the list to DoSomethingMethod
DoSomethingMethod(lst_Long , lst_Latt, ColumnCount, RowCount);
}
DoSomethingMethod(List<double> lst_long, List<double> lst_latt, int ColumnCount, int RowCount)
{
for (int iColumn = 0; iColumn < ColumnCount; iColumn++)
{
for (int iRow = 0; iRow < RowCount; iRow++)
{
// access my latitude value and longitude value here
double myX = lst_latt[iRow]
double myY = lst_long[iRow]
// do some processing here with the value, lets say....
double myNewX = myX + 10;
double myNewY = myY + 10;
PassNewDataToAnotherMethod( myNewX , myNewY );
}
}
}
我想问一下,是否有任何其他方法可以直接使用并从 dataGridView 获取单元格值,Columns["Long"]
并在Columns["Latt"]
不将 dataGridView 中的值复制到列表中的情况下执行类似的操作?
谢谢~
更新:下面是我的 DGV 表(数据是随机的,不是真实的)
更新我自己的答案,这个问题将关闭
// Pass the whole dataGridView1 into method and access the value through row count.
DoSomethingMethod(DataGridView dataGridView1)
{
for (int rows = 0; rows < dataGridView1.Rows.Count; rows++)
{
double myX = Convert.ToDouble(dataGridView1.Rows[rows].Cells["Latt"].Value);
double myY = Convert.ToDouble(dataGridView1.Rows[rows].Cells["Long"].Value);
}
}