DataGridView的使用和批量修改
DataGridView的属性:
AllowUserToAddRows:如果为true允许用户添加行,false不允许用户添加行
ReadOnly:true表示只读、不能修改单元格中的值,false可以对单元格进行修改
SelectionMode:FullRowSelect表示点击单元格选择整行
MultiSelect:true表示可以选多行,false表示不可以选多行
DataSource:绑定数据源
Colunms:列的集合
DataGridView中列的属性:
DataPropertyName:设置要和数据源中的哪个列进行绑定
HeaderText:设置当前列的名称
Visible:设置当前列是否可见
Frozen:设置当前列是否冻结(与excel中的冻结窗体类似)
ReadOnly:设置当前列是否只读
获取选中的行,列的单元格
this.dgvShow.CurrentRow.Cells[0].Value.ToString();//获取dgv里面选中的列的第一个值
//SelectedRows被选中的行的集合,SelectedRows[0]获取集合中的第一行
//Cells代表数据行中单元格的集合,Cells[0]获取第一个单元格
this.dgvStudents.SelectedRows[0].Cells[0].Value.ToString();
public partial class DataGridView的使用 : Form
{
public DataGridView的使用()
{
InitializeComponent();
}
SqlDataAdapter sda = null;
DataSet ds = null;
//数据源为DataTable
//private void DataGridView的使用_Load(object sender, EventArgs e)
//{
// string sql = "select StuNo,StuName,StuAge,StuSex from Student";
// SqlConnection conn = DBHelper.GetConnection();
// sda = new SqlDataAdapter(sql, conn);
// ds = new DataSet();
// sda.Fill(ds);
// DataTable table = ds.Tables[0];
// //给DataGridView绑定数据源
// this.dgvStudents.DataSource = table;
//}
//数据源为DataView
private void DataGridView的使用_Load(object sender, EventArgs e)
{
string sql = "select StuNo,StuName,StuAge,StuSex from Student";
SqlConnection conn = DBHelper.GetConnection();
sda = new SqlDataAdapter(sql, conn);
ds = new DataSet();
sda.Fill(ds);
DataTable table = ds.Tables[0];
//给DataGridView绑定数据源
DataView dv = table.DefaultView;
dv.Sort = "StuAge desc";//排序
dv.RowFilter = "StuAge>22";//筛选行
this.dgvStudents.DataSource = dv;
}
//批量修改
//优点:功能强大、操作简单、代码简洁
//缺点:1、只能操作一个表 2、操作的数据集中必须包含主键
private void btnUpdate_Click(object sender, EventArgs e)
{
SqlCommandBuilder builder = new SqlCommandBuilder(sda);
sda.Update(ds);
MessageBox.Show("修改成功!");
}
}