透过vs.net数据窗体向导看Ado.net
上面一段代码把数据表的列绑定到了TextBox的Text属性上。
数据的多值绑定如下:
grdProducts.SetDataBinding(objMyDataSet, "Categories.CategoryProductRel");
可见通过关系绑定数据相当方便。
四.数据浏览
这里通过BindingContext对象的索引得到BindingManagerBase实例,而BindingManagerBase.Position就是我们需要的,通过Position来显示某一行的数据记录。
例如下一条:
this.BindingContext[objMyDataSet,"Categories"].Position = (this.BindingContext[objMyDataSet,"Categories"].Position + 1);
最后一条:
this.BindingContext[objMyDataSet,"Categories"].Position = (this.objMyDataSet.Tables["Categories"].Rows.Count - 1);
另外调用PositionChanged()方法来改变导航按钮之间的索引显示。
五.数据编辑
从添加方法中我们可以看到下面代码:
// 清除当前编辑内容
this.BindingContext[objMyDataSet,"Categories"].EndCurrentEdit();
经常有人在csdn上提问为什么在编辑DataGrid或TextBox的时候,只有当编辑框失去焦点的时候才会被保存。要实现不改变焦点就保存可以通过上面代码实现。
相对应的取消如下:
this.BindingContext[objMyDataSet,"Categories"].CancelCurrentEdit();
删除数据的代码如下:
this.BindingContext[objMyDataSet,"Categories"].RemoveAt(this.BindingContext[objMyDataSet,"Categories"].Position);
看到上面代码发现原来数据不是真正的在数据源删除,不过我们开发的时候可能用的更多的是DataRow的Delete()方法,这样能够提交数据更新到数据源。
六.数据更新
向导生成的代码如下:
public void UpdateDataSet()
{
// 创建一个新数据集来保存对主数据集所做的更改。
WindowsApplication1.MyDataSet objDataSetChanges = new WindowsApplication1.MyDataSet();
// 停止当前的任何编辑。
this.BindingContext[objMyDataSet,"Categories"].EndCurrentEdit();
你有email邮箱吗?经常收到垃圾邮件而烦吗?立即使用邮箱LOGO在线制作酷Email logo图片












文章评论
共有 0 位网友发表了评论 此处只显示部分留言 点击查看完整评论页面