注意ADO.NET中容易混淆的概念(3)_.Net教程

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

推荐:解析asp.net开发与web标准的冲突问题
Visual Studio .net从2003到现在的2008,一路走来慢慢强大从以前的vs2003能自动改乱你的html代码到现在在vs2008中都能直接对html代码进行w3c标准验证并提示了,非常不易。 论坛中也经常有从事.net开发的新手朋友问一些ASP.net开发过程中与Web标准之间的冲突

DataView.Count属性得到的计数是在应用了 RowFilter 和 RowStateFilter 之后,获取 DataView 中记录的数量。

DataView是建立在DataTable基础上的,DataView.Table 属性可以得到此DataView对应的那个DataTable。DataView的行叫DataRowView,可以从DataRowView直接通过DataRowView.Row 属性得到此DataRowView对应的DataRow。

三、DataGrid

这里说的DataGrid是winform中的DataGrid,一般都是跟DataView绑定来显示DataTable中的数据,和修改DataTable中的数据。

DotNet的DataGrid的功能强大,可是在使用上与以前的习惯不太一样,有时还比较麻烦,所以很多人都对这个DataGrid感到有些摸不着头脑,有一种无从下手的感觉,其实把一些概念搞清楚了许多问题就会迎刃而解了。

DataGrid通过DataSource和DataMember 属性来绑定其要显示的数据源。数据源一般是DataTable、DataView、DataSet等,不过将这些数据源绑定到DataGrid时实际上是绑定的DataView。若数据源是DataTable时,实际上是绑定了此DataTable的DefaultView,若数据源是DataSet时,则可以向DataMember属性设置一个字符串,该字符串指定要绑定到的表,然后再将DataMember指定的那个DataTable的DefaultView绑定到DataGrid。

所以DataGrid实际显示的是DataTable经过筛选的DataView。

◆ DataGrid以何种方式显示DataView的数据

DataGrid绑定到一个DataView后,由DataGrid.TableStyles中的DataGridTableStyle 对象的集合来控制这个DataView的哪些列要显示,列的宽度多少,列标头的文本是什么等等。确省的DataGrid.TableStyles中不包含任何对象,这时DataGrid将会按照DataView列的顺序将所有的列都显示出来。一般应用中都会设置TableStyles来控制显示的内容及格式。

例如DataGrid绑定到一张叫order的DataTable,这个DataTable包含了OrderID、CustomerID、OrderDate、ShipName、ShipAddress等字段,可以看到DataGrid将会按照DataView列的顺序将所有的列都显示出来

我们只想显示OrderID、CustomerID、OrderDate这三个字段,并且想将OrderID的列表头显示为“订单号”,CustomerID显示为“客户号”,OrderDate显示为“订单日期”,这就要用TableStyles来控制了。

新建一个TableStyle,将此TableStyle.MappingName属性对应到这个TableStyle要控制的那个DataTable的名字:

DataGridTableStyle myTableStyle = new DataGridTableStyle();

myTableStyle.MappingName = "myDateTable";

再建立三个DataGridColumnStyle,分别用来控制将要显示的三个列:

DataGridColumnStyle myColumnStyle1 = new DataGridTextBoxColumn();

myColumnStyle1.MappingName = "OrderID";

myColumnStyle1.HeaderText = "订单号";

DataGridColumnStyle myColumnStyle2 = new DataGridTextBoxColumn();

myColumnStyle2.MappingName = "CustomerID";

myColumnStyle2.HeaderText = "客户号";

DataGridColumnStyle myColumnStyle3 = new DataGridTextBoxColumn();

myColumnStyle3.MappingName = "OrderDate";

myColumnStyle3.HeaderText = "订单日期";

将这三个DataGridColumnStyle添加到TableStyle中:

myTableStyle.GridColumnStyles.Add(myColumnStyle1);

myTableStyle.GridColumnStyles.Add(myColumnStyle2);

myTableStyle.GridColumnStyles.Add(myColumnStyle3);

最后将TableStyle添加到DataGrid中:

dataGrid1.TableStyles.Add(myTableStyle);

将TableStyle添加到DataGrid后,再绑定数据源。

◆ DataGrid的编辑修改

分享:ASP.NET程序设计的10大技巧
1. 在使用Visual Studio .NET时,除直接或非引用的对象外,不要使用缺省的名字 .NET带来的好处之一是所有的源代码和配置文件都是纯文本文件,能够使用Notepad或WordPad等任意的文本编辑器进行编辑。如果不愿意,我们并非一定要使用Visual Studio .NET作为集

来源:模板无忧//所属分类:.Net教程/更新时间:2009-06-11
相关.Net教程