- DataGridView知识
1。this.dataGridView1.RowHeadersWidth = 25;//获取和设置行标题的列的宽度(最前面的一列)
2。 this.dataGridView1.AutoResizeColumns();//调整所有列的宽度以适应其所有单元格(包括标题单元格)的内容
3。BindingManagerBase:数据绑定
在《Visual C#的数据绑定》中,已经了解了如何把数据集中的某些字段绑定到WinForm组件的某个属 性上,这样程序员就可以根据以WinForm组件的来定制数据显示的形式,并且此时的WinForm组件显示内容就可以随着记录指针的变化而改变。至此可见,浏览数据记录的关键就是如何改变记录指针。要实现这种操作,就要使用到BindingManagerBase类,此类的主要作用是管理对于那些实现了对同一个数据源进行绑定的对象。说的具体些,就是能够使得Windows窗体上的已经对同一数据源进行数据绑定的组件保持同步。在BindingManagerBase类中定义了一个属性"Position",通过这个属性就可以改变BindingManagerBase对象中的数据指针。创建BindingManagerBase对象必须要使用到BindingContext类,其实每一个由Control类中继承而得到的对象,都有单一的BindingContext对象,在大多数创建窗体中实现数据绑定组件的BindingManagerBase对象是使用Form类的BindingContext来得到。删除某行:WinForm上的多个TextBox控件显示数据库某个表中一个记录,它们的数据源绑定在一 个Dataset上,当按下“删除”按钮时,数据库表中的记录是删掉了,但是控件里还显示着(因为DataSet并没有更新),我希望从WinForm上就能看到删除的效果,即:DataSet也会更新
private void button2_Click(object sender, EventArgs e) { if (dataGridView1.CurrentCell == null) { MessageBox.Show("表中没有元素可以删除"); } else { BindingManagerBase bmb = (BindingManagerBase)this.dataGridView1.BindingContext[this.dataGridView1.DataSource]; DataRowView drv = (DataRowView)bmb.Current; int position = bmb.Position; DataRow dr = drv.Row; dr.Delete(); } }