内容显示页
 
类别:.Net + C# | 浏览(4046) | 2009-5-14 21:02:39

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;

        }

    }
}

示例代码:

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

演示及ArrayToDataTable类下载地址:ArrayToDataTable.rar 
 

原创作者:柳永法(yongfa365)'Blog


引用本页地址:http://www.yongfa365.com/item/ArrayToDataTable.html
 
 
相关链接
 
网友评论:
1 匿名网友 - 2011-8-8 10:23:09
bucuo a
 
姓名: 记住我
网址:
邮箱:
内容:
验证码:  验证码图片 看不清? 换张图试试
 
     
 
 
文章分类
 
 
.Net + C#(73)
 
 
ASP+VBS(161)
 
 
 
Linux(10)
 
 
 
web 2.0(26)
 
 
 
 
 
心程(68)
 
生活(97)
 
 
     

Power by :柳永法(yongfa365)'Blog  | 京ICP备07011491号  QQ:64049027  E-mail:64049027@qq.com yongfa365'CodePlex yongfa365'CodeGoogle

申请友情链接 要求:跟本站主题相类似正规网站,双方交换为首页位置

转载请注明来源,以便后人及时得到最新、修正、加强版!!!