using System;
using System.Data;

namespace ArrayToDataTable
{
class ArrayToDataTable
{
/// <summary>
/// 把一个一维数组转换为DataTable
/// </summary>
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>
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>
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;
}
}
}
调用
[csharp] view plaincopyprint?
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/");

}
}
}

数组转DataTable的更多相关文章

  1. 使用JavaScriptSerializer序列化集合、字典、数组、DataTable为JSON字符串 分类: 前端 数据格式 JSON 2014-10-30 14:08 169人阅读 评论(0) 收藏

    一.JSON简介 JSON(JavaScript Object Notation,JavaScript对象表示法)是一种轻量级的数据交换格式. JSON是"名值对"的集合.结构由大 ...

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

    C# 数组转换为DataTable 的三个方法   using System; using System.Data; namespace ArrayToDataTable { class ArrayT ...

  3. 数组和datatable间的相互转换[C#]

    byte[] LogMsgByte = null; DataTable dtMessageInfo = new DataTable(); //将datatable转换为数组 dtMessageInfo ...

  4. DataRow数组转换DataTable

    public DataTable ToDataTable(DataRow[] rows) { if (rows == null || rows.Length == 0) return null; Da ...

  5. DataRow数组 转 datatable

    DataTable tmpdt = dt.Clone(); DataRow[] drs = dt.Select("legnbr="+legNbr); ) { tmpdt = drs ...

  6. JArray数组转换为DataTable

  7. C# 二维数组 转换成 DataTable

    C# 数据转换 Overview C# 窗体操作中,有些比较特别的操作.但是为了方便我们不得不使用一些比较特别的手段. C#中二维数组转DataTable 首先,我们看一下我对二维数组的数据处理.这次 ...

  8. 深入详解DataTable

    在学习DataTable知识之前,我们有必要了解下ADO.NET.以下摘自MSDN: ADO.NET 对 Microsoft SQL Server 和 XML 等数据源以及通过 OLE DB 和 XM ...

  9. DataTable详解,以及dataview

    原文地址:http://www.cnblogs.com/moss_tan_jun/archive/2010/09/20/1832131.html 得到DataTable 得到DataTable有许多方 ...

随机推荐

  1. 2014年1月24日 Oracle 连接查询与子查询

    1.乘积连接:   源表.源数据交叉链接,结果集数量为源数据之间的乘积 2.相等链接:   通过where关联几个数据源中的某一字段进行链接 3.自链接   自己链接自己 SSF A a1, A a2 ...

  2. c#datagrid的每行的单击事件

    需要一个帮助类 using System; using System.Net; using System.Windows; using System.Windows.Controls; using S ...

  3. PLSQL实例(游标)

    在PLSQL块中执行SQL语句 A.   数据定义DDL: create,drop,truncate,不能直接执行,truncate执行时只做数据删除,不写日起,不维护索引 在PLSQL块中执行字符串 ...

  4. View的工作原理(二)——layout

    1.当View的measure被确定后,会调用ViewGroup的layout方法,之后使用onLayout方法(同样也是系统未自动重写,要我们自己完成)遍历子View(根Measure的形式是一样得 ...

  5. 初识scrapy,美空网图片爬取实战

          这俩天研究了下scrapy爬虫框架,遂准备写个爬虫练练手.平时做的较多的事情是浏览图片,对,没错,就是那种艺术照,我骄傲的认为,多看美照一定能提高审美,并且成为一个优雅的程序员.O(∩_∩ ...

  6. 【Python备忘】python判断文件和文件夹是否存在

    python判断文件和文件夹是否存在 import os os.path.isfile('test.txt') #如果不存在就返回False os.path.exists(directory) #如果 ...

  7. jquery load(URL,FUNCTION(){}) 异步加载页面

    $("#btnSearch").click(function () { var queryUrl = '/Report/LoadInsClassifFileNew'; if ($( ...

  8. SQL Server 连接和事务相关的问题。

    方法 1. dbcc opentran + sys.dm_exec_connections dbcc opentran; dbcc opentran 针对当前数据库 dbcc opentran('St ...

  9. MEMS陀螺仪—MEMS产品中的杀手

    MEMS陀螺仪(gyroscope)将成为MEMS产品的杀手.它已经被大量地应用在消费和汽车产品上.它的性能每两年提高十倍,它的成本却由于集成度和需求量的提高而不断下降.一旦MEMS陀螺仪的价格下降到 ...

  10. Android实现ListView或GridView首行/尾行距离屏幕边缘距离

    直接上关键属性: 设置ListView或GridView的android:clipToPadding = true, 然后通过paddingTop和paddingBottom设置距离就好了.