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

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

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

DataTable的行。

这时BindingManagerBase又将发挥作用了,我们可以先建立一个对应此DataGrid绑定的数据源的BindingManagerBase,这样这个BindingManagerBase就可以管理这个数据源。

//设置DataGrid的数据源

dataGrid1.DataSource = myDataSet;

dataGrid1.DataMember = "customers";

//建立同DataGrid同样数据源的BindingManagerBase

BindingManagerBase myBindingManagerBaseParent =

this.BindingContext[myDataSet,"customers"];

一旦建立了这个BindingManagerBase,就可以通过BindingManagerBase的当前行的属性来获取当前数据源的记录:

//BindingManagerBase的Current返回数据源的对象,对于绑定到DataView的数据源,需要将此对象显式

//的转换为 DataRowView类型

DataRowView myDataRowView =(DataRowView) myBindingManagerBaseParent.Current

这样,我们就可以从当前的Cell得到此Cell所在的DataRowView,DataRowView又可以通过DataRowView.Row属性及其方便的得到DataRow。

如果还要进一步,想要得到此Cell所对应的DataTable的具体单元,就是不光要得到DataRow,还要知道这个Cell所对应的列。

这又分两种情况:

一是DataGrid未使用TableStyles来设置DataGrid要显示的列和格式,数据源DataView的所有列都将按照DataView本身的顺序显示出来,这样可以直接取得对应的列索引:

//获取当前DataGrid单元的列索引,这个索引跟DataTable的索引是一样的
Int ColumnNumber = DataGrid.CurrentCell.ColumnNumber;

另一种情况是DataGrid使用了TableStyles来设置DataGrid要显示的列和格式,这样DataGrid单元的列索引跟DataTable的索引就可能是不一样的了,这就要用DataGrid的TableStyles了:

Int ColumnNumberDataGrid = DataGrid.CurrentCell.ColumnNumber;
//获取当前DataGrid单元的列索引

Int ColumnNumberDataTable =

DataGrid.TableStyles[0].GridColumnStyles[ColumnNumberDataGrid].MappingName

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

共6页上一页123456下一页
来源:模板无忧//所属分类:.Net教程/更新时间:2009-06-11
相关.Net教程