将VS.Net 2005 DataGridView控件的数据导出到二维数组
///
/// 将VS.Net 2005 DataGridView控件的数据导出到二维数组。
///
/// VS.Net 2005 DataGridView控件。
/// 是否要把列标题文本也导到数组中。
/// <作者>长江支流
/// <日期>
public string[,] ToStringArray(DataGridView dataGridView, bool includeColumnText)
{
#region 实现![](https://www.cnblogs.com/Images/dot.gif)
string[,] arrReturn = null;
int rowsCount = dataGridView.Rows.Count;
int colsCount = dataGridView.Columns.Count;
if (rowsCount > 0)
{
//最后一行是供输入的行时,不用读数据。
if (dataGridView.Rows[rowsCount - 1].IsNewRow)
{
rowsCount--;
}
}
int i = 0;
//包括列标题
if (includeColumnText)
{
rowsCount++;
arrReturn = new string[rowsCount, colsCount];
for (i = 0; i < colsCount; i++)
{
arrReturn[0, i] = dataGridView.Columns[i].HeaderText;
}
i = 1;
}
else
{
arrReturn = new string[rowsCount, colsCount];
}
//读取单元格数据
int rowIndex = 0;
for (; i < rowsCount; i++, rowIndex++)
{
for (int j = 0; j < colsCount; j++)
{
arrReturn[i, j] = dataGridView.Rows[rowIndex].Cells[j].Value.ToString();
}
}
return arrReturn;
#endregion 实现
}
//对两维数组的重新学习
//二维数组转换成一维数组(C#版本)
using System;
namespace ConsoleApplication1
{
class Program
{
private static void TwoarrTrancteOnearr(int m,int n)
{
int[,] arr2;
int[] arr1;
arr2 = new int[m, n];
arr1 = new int[m*n];
Console.WriteLine("output value of arr2:");
for (int i = 0; i < m; ++i)
{
for (int j = 0; j < n; ++j)
{
arr2[i, j] = i * n + j;
Console.Write("{0} ",arr2[i, j]);
}
Console.WriteLine();
}
Console.WriteLine("Output value of arr1:");
for(int i=0;i<m*n;++i)
{
int r = i / n;
int c = i % n;
arr1[i] = arr2[r, c];
Console.Write("{0} ", arr1[i]);
}
Console.WriteLine();
Console.WriteLine("Press <enter> key exit!");
Console.ReadLine();
}
static void Main(string[] args)
{
TwoarrTrancteOnearr(4, 3);
}
}
}
string[][] fn=new string[2][];
fn[0]=new string[]{2,3}
fn[1]=new string[]{4,5}
/// 将VS.Net 2005 DataGridView控件的数据导出到二维数组。
///
/// VS.Net 2005 DataGridView控件。
/// 是否要把列标题文本也导到数组中。
/// <作者>长江支流
/// <日期>
public string[,] ToStringArray(DataGridView dataGridView, bool includeColumnText)
{
#region 实现
![](https://www.cnblogs.com/Images/dot.gif)
string[,] arrReturn = null;
int rowsCount = dataGridView.Rows.Count;
int colsCount = dataGridView.Columns.Count;
if (rowsCount > 0)
{
//最后一行是供输入的行时,不用读数据。
if (dataGridView.Rows[rowsCount - 1].IsNewRow)
{
rowsCount--;
}
}
int i = 0;
//包括列标题
if (includeColumnText)
{
rowsCount++;
arrReturn = new string[rowsCount, colsCount];
for (i = 0; i < colsCount; i++)
{
arrReturn[0, i] = dataGridView.Columns[i].HeaderText;
}
i = 1;
}
else
{
arrReturn = new string[rowsCount, colsCount];
}
//读取单元格数据
int rowIndex = 0;
for (; i < rowsCount; i++, rowIndex++)
{
for (int j = 0; j < colsCount; j++)
{
arrReturn[i, j] = dataGridView.Rows[rowIndex].Cells[j].Value.ToString();
}
}
return arrReturn;
#endregion 实现
}
//对两维数组的重新学习
//二维数组转换成一维数组(C#版本)
using System;
namespace ConsoleApplication1
{
class Program
{
private static void TwoarrTrancteOnearr(int m,int n)
{
int[,] arr2;
int[] arr1;
arr2 = new int[m, n];
arr1 = new int[m*n];
Console.WriteLine("output value of arr2:");
for (int i = 0; i < m; ++i)
{
for (int j = 0; j < n; ++j)
{
arr2[i, j] = i * n + j;
Console.Write("{0} ",arr2[i, j]);
}
Console.WriteLine();
}
Console.WriteLine("Output value of arr1:");
for(int i=0;i<m*n;++i)
{
int r = i / n;
int c = i % n;
arr1[i] = arr2[r, c];
Console.Write("{0} ", arr1[i]);
}
Console.WriteLine();
Console.WriteLine("Press <enter> key exit!");
Console.ReadLine();
}
static void Main(string[] args)
{
TwoarrTrancteOnearr(4, 3);
}
}
}
string[][] fn=new string[2][];
fn[0]=new string[]{2,3}
fn[1]=new string[]{4,5}