总结.NET开发中ADO.NET的应用(5)_.Net教程

编辑Tag赚U币
教程Tag:暂无Tag,欢迎添加,赚取U币!

推荐:关于Gridview的多种使用方法总结
asp.net中 Gridview的多种使用方法总结,具体如下面 截图,并包括详细源代码注释,需要的请下载。 1:在Gridview中无须编写后台代码,直接实现增除删改 2:在Gridview中添加新记录 3:在Gridview中实现编辑和更新操作 4:在Gridview中实现一次性更新所有记录


如果Form上有个DataGrid的DataGrid.DataSource = myDataSet;DataGrid.DataMember = "customers",那么这个DataGrid的数据源就在myBindingManagerBaseParent的管理之下了。 
同样简单数据绑定的控件的DataSource也是跟 BindingManagerBase的DataSource一样,DataMember是BindingManagerBase的DataMember指定的那个表的某一列时,这个控件的数据源也在这个myBindingManagerBaseParent管理之下了: 
dataGrid1.DataSource = myDataSet; 
dataGrid1.DataMember = "customers"; 
textCustomerId.DataBindings.Add
(new Binding("Text",myDataSet,"customers.customerid"));
//TextBox的Text属性跟 
//myDataSet的customers表的customerid字段绑定 
BindingManagerBase控制的数据源有个当前行的概念,控件一旦跟数据源绑定后,DataGrid将显示数据源表的所有数据,不过在DataGrid的行标头里有个黑色的三角箭头用来指示当前行。简单绑定控件中显示的值将是数据源当前行的内容。 
所以,只要我们改变BindingManagerBase的指针就行了,这个可以在界面上通过点击要到的那一行来改变当前行,也可以在程序中改变当前行的设置: 
myBindingManagerBaseParent.Position = 10; 
BindingManagerBase.Position属性的变化就会引起BindingManagerBase当前行的变化,也就是跟这个数据源绑定的DataGrid的当前行的变化,简单绑定控件的显示内容也就随之改变了。
BindingManagerBase的DataSource可以是DataSet,DataSet中可以有多个DataTable,这些DataTable可以通过DataRelaton(关系)联系在一起,形成父表/子表的关系。比如,还是上面举过的例子,一个DataGrid显示Customer表,同时还想要有一个DataGrid来显示当前Customer所有的order。这样我们就会需要两个BindingManagerBase了,一个BindingManagerBase对应Customer表,另一个BindingManagerBase对应order表,而且这个order表还要考虑到同Customer表的关系。 
对应Customer的BindingManagerBase上面我们已经建立好了,下面我们来建立对应order的BindingManagerBase: 
首先我们要建立Customer表和order表之间的关系myRelation: 
DataColumn ParentColumn = myDataSet.Tables["customers"].Columns["customerid"]; 
//要建立关系的父表的列,相当于主键 
DataColumn ChildColumn = myDataSet.Tables["orders"].Columns["customerid"]; 
//要建立关系的子表的列,相当于外键 
DataRelation myRelation = new DataRelation("myRelation",ParentColumn,ChildColumn,false); 
//根据父表,子表的相关列建立关系  
然后,通过关系,建立对应order表的BindingManagerBase: 
myBindingManagerBaseChild = this.BindingContext[myDataSet,"customers.myRelation"]; //这个数据源将解析为一个父表中的客户对应的所有的order 
这样,当对应Customer的BindingManagerBase的当前行改变时,对应order的BindingManagerBase也将跟着变化,他们之间的关系是由myRelation决定的 

分享:String.Empty、NULL、“”的不同之处
在asp.net(c#)中 String.Empty、NULL、 3个语法 经常使用,作用是判断字符串是否为空。 本文就它们彼此的不同之处做一粗略说明。 string.Empty就相当于 一般用于字符串的初始化 比如: stringa; Console.WriteLine(a);//这里会报错,因为没有初始化a 而下

来源:模板无忧//所属分类:.Net教程/更新时间:2010-05-21
相关.Net教程