CodeSmith datagridview属性

 private void button1_Click(object sender, EventArgs e) //将数据库里的数据直接显示在datagridview1里面
        {
            SqlConnection conn = new SqlConnection("server=.;database=Cml;user=sa;pwd=123");
            SqlCommand cmd = conn.CreateCommand();
            cmd.CommandText = "select * from " + textBox1.Text;
            conn.Open();
            SqlDataReader dr = cmd.ExecuteReader();
            //造一个Datatable 是为了给datagridview一个数据源,  数据源有两个一个是泛型集合List<>,另一个则是Datatable
            DataTable dt = new DataTable();
            if(dr.HasRows)
            {   
                //下面开始往DataTable临时表里存数据(这里是列)
                for (int i = 0; i < dr.FieldCount; i++)
                {
                    dt.Columns.Add(dr.GetName(i));  //获取到每一列的名字然后存在columns里面
                }

                ////下面开始添加行
                dt.Rows.Clear();
               
                while (dr.Read()) //while循环循环的是每一行的数据,只要数据库里有数据,就会一行一行的读出来,每读一行就执行一次while
                {   
                    DataRow dtrow = dt.NewRow();//造一个新行
                    for (int i = 0; i < dr.FieldCount; i++)//for循环循环的是确定了某一行后每一列的数据
                    {
                        dtrow[i] = dr[i];   //i是索引 
                    } 
                   dt.Rows.Add(dtrow); //将读出来的每一行都存到dt里面去
                } 
               
            }
            dataGridView1.DataSource = dt;
            cmd.Dispose();
            conn.Close();
        }

原文地址:https://www.cnblogs.com/lk-kk/p/4564853.html