0%

C# 数组转为 Table

  • 来源:明日科技
  • C# 数组转为table的实例。

    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52
    53
    54
    55
    56
    57
    58
    59
    60
    61
    62
    63
    64
    65
    66
    67
    68
    69
    70
    71
    72
    73
    74
    75
    76
    77
    78
    79
    80
    81
    82
    83
    84
    85
    86
    87
    88
    89
    90
    91
    92
    93
    94
    95
    96
    97
    98
    99
    100
    101
    102
    103
    104
    105
    106
    107
    108
    109
    110
    111
    112
    113
    114
    115
    116
    117
    118
    119
    120
    121
    122
    123
    124
    125
    126
    127
    128
    129
    130
    131
    using System;
    using System.Collections.Generic;
    using System.ComponentModel;
    using System.Data;
    using System.Drawing;
    using System.Linq;
    using System.Text;
    using System.Windows.Forms;

    namespace WindowsFormsApplication1
    {
    //http://www.cnblogs.com/Holmes-Jin/archive/2012/04/25/2470671.html


    public partial class Form1 : Form
    {
    public Form1()
    {
    InitializeComponent();
    }


    private void button1_Click_1(object sender, EventArgs e)
    {
    dataGridView1.DataSource = ArrayToDataTable.Convert("haha", new string[] { "1", "2", "3", "4", "5", "6" });

    }

    private void button2_Click_1(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);
    }

    }

    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;

    }

    }
    }
    觉得文章有用?请我喝杯咖啡~