自定义DataTable,且向DataTable里面加入静态数据和动态数据

来源:互联网 发布:大数据分析网站 编辑:程序博客网 时间:2024/05/20 20:03

1、自定义DataTable,且向DataTable里面加入静态数据

  public DataTable createTable()
        {
            using (DataTable dt = new DataTable("students"))
            {  //创建列
                DataColumn dtc = new DataColumn("姓名", typeof(string));
                dt.Columns.Add(dtc);
                dtc = new DataColumn("性别", typeof(string));
                dt.Columns.Add(dtc);
                dtc = new DataColumn("电话", typeof(Int32));
                dt.Columns.Add(dtc);

                //添加数据到DataTable
                DataRow dr = dt.NewRow();
                dr["姓名"] = "张三";
                dr["性别"] = "男";
                dr["电话"] = 54531;
                dt.Rows.Add(dr);

                dr = dt.NewRow();
                dr["姓名"] = "李四";
                dr["性别"] = "男";
                dr["电话"] = 5731;
                dt.Rows.Add(dr);

                dr = dt.NewRow();
                dr["姓名"] = "王五";
                dr["电话"] = 5868451;
                dr["性别"] = "女";
                dt.Rows.Add(dr);
                return dt;
            }

运行后效果如下图



2、自定义DataTable,且向DataTable里面加入动态数据(例如把datagridView中的数据循环加入到一个表名为随机数的datatable中)

datagridView数据列显示如下图



把datagridView中的数据循环加入到一个表名为随机数的datatable中的代码如下:

public DataTable createTable()
        {
            Random ran = new Random();
            string dableName = ran.Next(100, 999).ToString();
            using (DataTable dt = new DataTable(dableName))
            {
                //创建列
                DataColumn dtc = new DataColumn("jtbh", typeof(string));
                dt.Columns.Add(dtc);
                dtc = new DataColumn("pdate", typeof(string));
                dt.Columns.Add(dtc);
                dtc = new DataColumn("wlmc", typeof(string));
                dt.Columns.Add(dtc);
                dtc = new DataColumn("ggxh", typeof(string));
                dt.Columns.Add(dtc);
                dtc = new DataColumn("fsl", typeof(decimal));
                dt.Columns.Add(dtc);
                dtc = new DataColumn("pzj", typeof(decimal));
                dt.Columns.Add(dtc);
                dtc = new DataColumn("psj", typeof(decimal));
                dt.Columns.Add(dtc);
                dtc = new DataColumn("khmc", typeof(string));
                dt.Columns.Add(dtc);
                dtc = new DataColumn("bz", typeof(string));
                dt.Columns.Add(dtc);

                for (int i = 0; i < dataGridView2.Rows.Count; i++)
                {
                    DataRow dr = dt.NewRow();
                    string jtbh = dataGridView2.Rows[i].Cells[27].Value.ToString() == string.Empty ? "" : dataGridView2.Rows[i].Cells[27].Value.ToString();
                    dr["jtbh"] = jtbh;
                    string pdate = dataGridView2.Rows[i].Cells[28].Value.ToString() == string.Empty ? "" : dataGridView2.Rows[i].Cells[28].Value.ToString().Split(' ')[0];
                    dr["pdate"] = pdate;
                    string wlmc = dataGridView2.Rows[i].Cells[10].Value.ToString() == string.Empty ? "" : dataGridView2.Rows[i].Cells[10].Value.ToString().Split(' ')[0];
                    dr["wlmc"] = wlmc;
                    string ggxh = dataGridView2.Rows[i].Cells[11].Value.ToString() == string.Empty ? "" : dataGridView2.Rows[i].Cells[11].Value.ToString().Split(' ')[0];
                    dr["ggxh"] = ggxh;
                    string fsl = dataGridView2.Rows[i].Cells[16].Value.ToString() == string.Empty ? "" : dataGridView2.Rows[i].Cells[16].Value.ToString().Split(' ')[0];
                    dr["fsl"] = fsl;
                    decimal pzj = Convert.ToDecimal(dataGridView2.Rows[i].Cells[23].Value.ToString() == string.Empty ? "0" : dataGridView2.Rows[i].Cells[23].Value.ToString());
                    dr["pzj"] = pzj;
                    decimal psj = Convert.ToDecimal(dataGridView2.Rows[i].Cells[24].Value.ToString() == string.Empty ? "0" : dataGridView2.Rows[i].Cells[24].Value.ToString());
                    dr["psj"] = psj;
                    string khmc = dataGridView2.Rows[i].Cells[4].Value.ToString() == string.Empty ? "" : dataGridView2.Rows[i].Cells[4].Value.ToString().Split(' ')[0];
                    dr["khmc"] = khmc;
                    string bz = dataGridView2.Rows[i].Cells[22].Value.ToString() == string.Empty ? "" : dataGridView2.Rows[i].Cells[22].Value.ToString().Split(' ')[0];
                    dr["bz"] = bz;
                    dt.Rows.Add(dr);
                }             
                return dt;

            }



3、自定义DataTable,且向DataTable里面加入静态数据,另一种写法,区别于第1种     

private DataTable InitDt()
        {
            DataTable dt = new DataTable("个人简历");
            dt.Columns.Add("id", typeof(int));
            dt.Columns.Add("name", typeof(string));
            dt.Columns.Add("sex", typeof(int));
            dt.Columns.Add("address", typeof(string));
            dt.Columns.Add("aihao", typeof(string));
            dt.Columns.Add("photo", typeof(string));
            dt.Rows.Add(new object[] { 1, "张三", 1, "东大街6号", "看书", "" });
            dt.Rows.Add(new object[] { 1, "王五", 0, "西大街2号", "上网,游戏", "" });
            dt.Rows.Add(new object[] { 1, "李四", 1, "南大街3号", "上网,逛街", "" });
            dt.Rows.Add(new object[] { 1, "钱八", 0, "北大街5号", "上网,逛街,看书,游戏", "" });
            dt.Rows.Add(new object[] { 1, "赵九", 1, "中大街1号", "看书,逛街,游戏", "" });
            return dt;
        }