正在阅读:透过vs.net数据窗体向导看Ado.net透过vs.net数据窗体向导看Ado.net

2005-01-04 17:27 出处: 作者:zhzuo 责任编辑:linjixiong


  this.editCategoryName.DataBindings.Add(new System.Windows.Forms.Binding("Text", this.objMyDataSet, "Categories.CategoryName"));

  上面一段代码把数据表的列绑定到了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();

热点推荐: 
教你如何成为一名Java初级程序员变态级JAVA程序员面试32问(附答案)
将Asp.Net页面输出到EXCEL里去读书笔记:程序员的个人性格
Java编程学习:自己DIY一个JSP日历Java 的破解和反破解之道
网页编程必看:XML文法分析设计模式的有趣解释-追MM

察看评论详细内容 我要发表评论
作者笔名简短内容 发表时间
:

键盘也能翻页,试试“← →”键

相关文章

关注我们

最新资讯离线随时看 聊天吐槽赢奖品