数组转DataTable

 
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;
        }
    }
}
调用
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/");   

        }   
    }   
}  
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值