阶段一知道DataTable是什么会创建1、一句话理解DataTable 内存里的一张表格有列、有行、有数据专门给DataGridView显示用2、必学创建一张表//创建表格 DataTable dt1 new DataTable(); //添加列 dt1.Columns.Add(名字, typeof(string)); dt1.Columns.Add(年龄, typeof(int)); dt1.Columns.Add(身高, typeof(double)); dt1.Columns.Add(体重, typeof(double));3、添加行数据//添加行方式1 dt1.Rows.Add(张三, 21, 171, 70); dt1.Rows.Add(李四, 42, 180, 95); dt1.Rows.Add(王五, 17, 164, 60); dt1.Rows.Add(赵六, 53, 175, 75); //添加行方式2 DataRow row1 dt1.NewRow(); row1[名字] 胜七; row1[年龄] 31; row1[身高] 178; row1[体重] 75; dt1.Rows.Add(row1); //添加行方式3 DataRow row2 dt1.NewRow(); row2[0] 刘八; row2[1] 35; row2[2] 172; row2[3] 71; dt1.Rows.Add(row2);4、绑定到DataGridView(最核心)//绑定数据源 dataGridView1.DataSource dt1;阶段二核心操作---增删查改新增行//添加行方式1 dt1.Rows.Add(张三, 21, 171, 70); dt1.Rows.Add(李四, 42, 180, 95); dt1.Rows.Add(王五, 17, 164, 60); dt1.Rows.Add(赵六, 53, 175, 75); //添加行方式2 DataRow row1 dt1.NewRow(); row1[名字] 胜七; row1[年龄] 31; row1[身高] 178; row1[体重] 75; dt1.Rows.Add(row1); //添加行方式3 DataRow row2 dt1.NewRow(); row2[0] 刘八; row2[1] 35; row2[2] 172; row2[3] 71; dt1.Rows.Add(row2);删除行//删除第0行 dt1.Rows[0].Delete(); //选中删除的行 private void btnDeleteRow_Click(object sender, EventArgs e) { if(dataGridView1.SelectedRows.Count0) { int index dataGridView1.SelectedRows[0].Index; dt1.Rows[index].Delete(); } }删除前删除后修改数据//修改数据 dt1.Rows[0][0] 豪十;修改前修改后查询数据(遍历)//查询数据 foreach (DataRow row in dt1.Rows) { string Name row[名字].ToString(); int Age (int)row[年龄]; }阶段三高级设置1、设置列只读2、设置主键(唯一标识)3、清空表格4、复制表克隆结构拷贝数据5、筛选数据阶段四配合DataGridView实战阶段五最终总结1、10个核心new DataTable(); 创建表格dt.Columns.Add();添加列dt.Rows.Add();添加行dataGridView.DataSource dt;绑定表格dt.Rows[Index].Delete();删除行row[列名] 读写数据Clone(); 克隆结构Copy(); 复制数据Select(); 筛选Clear(); 清空2、总结DataTable就是DataGridView的”后台数据仓库“DataGridView负责显示DataTable负责存储、操作数据