zoukankan      html  css  js  c++  java
  • C# DataTable 转 json

       public Form1()
            {
                InitializeComponent();
            }
    
            private void Form1_Load(object sender, EventArgs e)
            {
                //窗体加载事件  
                dataGridView1.DataSource = getData2();
                DataTable table = getData2();
                textBox1.Text = DataTableToJson(getData2()) + "
    ";
                textBox1.Text += DataTableToJson(table) + "
    ";
    
            }
    
    
            #region 获得 DataTable数据 
            public DataTable getData1()
            {
                DataTable dt = new DataTable();
                dt.Columns.Add("编号", typeof(Int32));
                dt.Columns.Add("姓名", typeof(string));
                dt.Columns.Add("性别", typeof(string));
                dt.Columns.Add("学历", typeof(string));
                dt.Rows.Add(1, "王超", "", "本科");
                dt.Rows.Add(2, "周丽", "", "专科");
                dt.Rows.Add(3, "李娟", "", "专科");
                dt.Rows.Add(4, "杨明", "", "硕士");
                dt.Rows.Add(5, "张德", "", "本科");
                return dt;
            }
            public DataTable getData2()  
            {
                DataTable dt = new DataTable("Student");
                dt.Columns.Add("StudentId", typeof(Int32));
                dt.Columns.Add("StudentName", typeof(string));
                dt.Columns.Add("Address", typeof(string));
                dt.Columns.Add("MobileNo", typeof(string));
                //Data  
                dt.Rows.Add(1, "Manish", "Hyderabad", "0000000000");
                dt.Rows.Add(2, "Venkat", "Hyderabad", "111111111");
                dt.Rows.Add(3, "Namit", "Pune", "1222222222");
                dt.Rows.Add(4, "Abhinav", "Bhagalpur", "3333333333");
                return dt;
            }
            #endregion
    
            #region 从DataTable数据转为List
            public List<Student> StudentList()
            {
                DataTable dt = new DataTable();
                dt = getData2();
                List<Student> studentList = new List<Student>();
                for (int i = 0; i < dt.Rows.Count; i++)
                {
                    Student student = new Student();
                    student.StudentId = Convert.ToInt32(dt.Rows[i]["StudentId"]);
                    student.StudentName = dt.Rows[i]["StudentName"].ToString();
                    student.Address = dt.Rows[i]["Address"].ToString();
                    student.MobileNo = dt.Rows[i]["MobileNo"].ToString();
                    studentList.Add(student);
                }
                return studentList;
            }
            #endregion
    
            #region 从DataTable数据 转为 Json
            public string DataTableToJson(DataTable table)
            {
                var JsonString = new StringBuilder();
                if (table.Rows.Count > 0)
                {
                    JsonString.Append("[");
                    for (int i = 0; i < table.Rows.Count; i++)
                    {
                        JsonString.Append("{");
                        for (int j = 0; j < table.Columns.Count; j++)
                        {
                            if (j < table.Columns.Count - 1)
                            {
                                JsonString.Append(""" + table.Columns[j].ColumnName.ToString() + "":" + """ + table.Rows[i][j].ToString() + "",");
                            }
                            else if (j == table.Columns.Count - 1)
                            {
                                JsonString.Append(""" + table.Columns[j].ColumnName.ToString() + "":" + """ + table.Rows[i][j].ToString() + """);
                            }
                        }
                        if (i == table.Rows.Count - 1)
                        {
                            JsonString.Append("}");
                        }
                        else
                        {
                            JsonString.Append("},");
                        }
                    }
                    JsonString.Append("]");
                }
                return JsonString.ToString();
            }
            #endregion
        }
        #region 实体类
        public class Student
        {
            public int StudentId { get; set; }
            public string StudentName { get; set; }
            public string Address { get; set; }
            public string MobileNo { get; set; }
        }
    
        #endregion



    创建datatable

    dt = new DataTable();
    dt.Columns.Add("a");
    dt.Columns.Add("b");
    dt.Rows.Add(1);
    object[] iis = new object[2];
    iis[0] = 1;
    iis[1] = 2;
    dt.Rows.Add(iis);
    DataSource = dt;

     
    private void button3_Click(object sender, EventArgs e)
            {
                //创建一个空表
                DataTable dt = new DataTable();
                dt.Columns.Add("列1");
                dt.Columns.Add("列2");
                dt.Columns.Add("列3");
                dt.Columns.Add("列4");
    
                for (int i=0;
                    i<5;i++)
                {
                    DataRow dr = dt.NewRow();
                    dt.Rows.Add(dr);
                    dt.Rows[0]["列1"] = "第一列数据";//通过名称赋值
                    dt.Rows[0]["列2"] = "第二列数据";//通过名称赋值
                    dt.Rows[0]["列3"] = "第三列数据";//通过名称赋值
                    dt.Rows[0]["列4"] = "第四列数据";//通过名称赋值
                }       
                
            }

     //插入数据到指定行

      dt = dal字典.SelectBy字典类型("产品类型");
                    //产品类型.SelectedIndex = -1;
                    DataRow dr = dt.NewRow();
                    dr["字典类型"] = "产品类型";
                    dr["字典值"] = "";
                    //dt.Rows.Add(dr);
                    dt.Rows.InsertAt(dr, 0);
  • 相关阅读:
    java编译错误No enclosing instance of type TestFrame is accessible. Must qualify the allocation with an enclosing instance of type TestFrame (e.g. x.new A(
    java 2中创建线程方法
    动态规划基本思想
    关于eclipse编译一个工程多个main函数
    java Gui初识
    Eclipse中java项目的打包
    java 播放声音
    把资源文件夹导入到eclipse中
    Java建立JProgressBar
    How to grant permissions to a custom assembly that is referenced in a report in Reporting Services
  • 原文地址:https://www.cnblogs.com/enych/p/8522562.html
Copyright © 2011-2022 走看看