C# 数组转换为DataTable 的三个方法

 
    using System;
using System.Data; namespace ArrayToDataTable
{
class ArrayToDataTable
{
/// <summary>
/// 把一个一维数组转换为DataTable
/// </summary>
/// <param name="ColumnName">列名</param>
/// <param name="Array">一维数组</param>
/// <returns>返回DataTable</returns>
/// <remarks>柳永法 http://www.yongfa365.com/ </remarks>
public static DataTable Convert(string ColumnName, string[] Array)
{
DataTable dt = new DataTable();
dt.Columns.Add(ColumnName, typeof(string)); for (int i = 0; i < Array.Length; i++)
{
DataRow dr = dt.NewRow();
dr[ColumnName] = Array[i].ToString();
dt.Rows.Add(dr);
} return dt;
} /// <summary>
/// 反一个M行N列的二维数组转换为DataTable
/// </summary>
/// <param name="ColumnNames">一维数组,代表列名,不能有重复值</param>
/// <param name="Arrays">M行N列的二维数组</param>
/// <returns>返回DataTable</returns>
/// <remarks>柳永法 http://www.yongfa365.com/ </remarks>
public static DataTable Convert(string[] ColumnNames, string[,] Arrays)
{
DataTable dt = new DataTable(); foreach (string ColumnName in ColumnNames)
{
dt.Columns.Add(ColumnName, typeof(string));
} for (int i1 = 0; i1 < Arrays.GetLength(0); i1++)
{
DataRow dr = dt.NewRow();
for (int i = 0; i < ColumnNames.Length; i++)
{
dr[i] = Arrays[i1, i].ToString();
}
dt.Rows.Add(dr);
} return dt; } /// <summary>
/// 反一个M行N列的二维数组转换为DataTable
/// </summary>
/// <param name="Arrays">M行N列的二维数组</param>
/// <returns>返回DataTable</returns>
/// <remarks>柳永法 http://www.yongfa365.com/ </remarks>
public static DataTable Convert(string[,] Arrays)
{
DataTable dt = new DataTable(); int a = Arrays.GetLength(0);
for (int i = 0; i < Arrays.GetLength(1); i++)
{
dt.Columns.Add("col" + i.ToString(), typeof(string));
} for (int i1 = 0; i1 < Arrays.GetLength(0); i1++)
{
DataRow dr = dt.NewRow();
for (int i = 0; i < Arrays.GetLength(1); i++)
{
dr[i] = Arrays[i1, i].ToString();
}
dt.Rows.Add(dr);
} return dt; } }
} 示例代码:
view plaincopy to clipboardprint? using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Text;
using System.Windows.Forms; namespace ArrayToDataTable
{
public partial class Form1 : Form
{
public Form1()
{
InitializeComponent();
} private void button1_Click(object sender, EventArgs e)
{
dataGridView1.DataSource = ArrayToDataTable.Convert("haha", new string[] { "1", "2", "3", "4", "5", "6" });
} private void button2_Click(object sender, EventArgs e)
{
string[,] array3D = {
{ "1", "数组转DataTable 1", "0"},
{ "2", "数组转DataTable 2", "1"},
{ "3", "数组转DataTable 3", "1"},
{ "4", "数组转DataTable 4", "2"},
{ "5", "数组转DataTable 5", "2"},
{ "6", "数组转DataTable 6", "5"},
};
dataGridView1.DataSource = ArrayToDataTable.Convert(new string[] { "haha1", "haha2", "haha3" }, array3D); } private void button3_Click(object sender, EventArgs e)
{
string[,] array3D = {
{ "1", "数组转DataTable 1", "0"},
{ "2", "数组转DataTable 2", "1"},
{ "3", "数组转DataTable 3", "1"},
{ "4", "数组转DataTable 4", "2"},
{ "5", "数组转DataTable 5", "2"},
{ "6", "数组转DataTable 6", "5"},
};
dataGridView1.DataSource = ArrayToDataTable.Convert(array3D); } private void linkLabel1_LinkClicked(object sender, LinkLabelLinkClickedEventArgs e)
{
System.Diagnostics.Process.Start("Iexplore.exe", "http://www.yongfa365.com/");
}
}
}

最新文章

  1. 【python之路3】if 语句
  2. java中关键字this的使用
  3. CSU 1597 薛XX后代的IQ
  4. npm 重点小结
  5. 修改美化Matlab字体
  6. vb.net 控件(包括字体)随窗体按比例缩放
  7. mysql格式化整数类型时间生成年月日时分秒格式(long或string接收)
  8. ListView去除顶部和底部边缘阴影(亲测4.4及以前的版本都适用)
  9. win7使用USB转串口连接mini2440方法
  10. java解析页面包jsoup
  11. iOS开发之自定义输入框(利用UITextField及UITextView)
  12. MPICH3环境配置
  13. C#基础篇--静态成员、抽象成员、接口
  14. 学习less
  15. rpc接口调用以太坊智能合约
  16. HTML5中的语义标签兼容IE8以及更低版本的浏览器
  17. [CF1132F]Clear the String
  18. [Tensorflow] Cookbook - The Tensorflow Way
  19. JSON和Serialize数据格式的对比
  20. python变量存储和深浅拷贝

热门文章

  1. gym101343 2017 JUST Programming Contest 2.0
  2. C++ 11常见功能介绍:auto,decltype,nullptr,for,lambda
  3. 我已经迷失在事件环(event-loop)中了【Nodejs篇】
  4. 迷宫自动生成以及基于DFS的自动寻路算法
  5. gnulpot
  6. ch12 GUI
  7. NOIP2018提高组省一冲奖班模测训练(一)
  8. Python基础(三) 数据类型
  9. JS权威指南笔记1
  10. [luoguP1072] Hankson 的趣味题(数论)