DataTable 的用法简介
2011-03-22 09:04
537 查看
本文转自:/article/4830239.html
先看示例代码:
viewsourceprint?
DataTable的一些属性,如:
DataTabledt=newDataTable();
dt.Columns.Add("Name",typeof(string));
//增加一列,列名为Name
DataRowdr=dt.NewRow();
dr["Name"]="SpringYang";
dt.Rows.Add(dr);
//增加一行;
dt.Rows.Remove(dr);
//删除一行;
dt.Cloumns.Remove("Name");
删除一列
DataTabledtnew=dt.Copy();
dtnew指向的是dt所指向的内存地址,给dtnew操作也是对dt操作
只有这样:
DataTabledttwo=dt.Clone();
foreach(DataRowdrindt.Rows)
{
DataRownewdr=dttwo.NewRow();
newdr.ItemArray=dr.ItemArray;
dttwo.Rows.Add(newdr);
}
再对dttwo操作就不会修改dt了.这应该是值类型和引用类型的区别吧.
if($!=jQuery){
$=jQuery.noConflict();
}
varisLogined=true;
varcb_blogId=83225;
varcb_entryId=1968218;
varcb_blogApp="springyangwc";
varcb_blogUserGuid="146fcf3f-a706-e011-ac81-842b2b196315";
varcb_entryCreatedDate='2011/3/118:11:00';
先看示例代码:
//PutthenextlineintotheDeclarationssection. |
private System.Data.DataSetdataSet; |
private void MakeDataTables() |
{ |
//Runallofthefunctions. |
MakeParentTable(); |
MakeChildTable(); |
MakeDataRelation(); |
BindToDataGrid(); |
} |
private void MakeParentTable() |
{ |
//CreateanewDataTable. |
System.Data.DataTabletable= new DataTable( "ParentTable" ); |
//DeclarevariablesforDataColumnandDataRowobjects. |
DataColumncolumn; |
DataRowrow; |
//CreatenewDataColumn,setDataType, |
//ColumnNameandaddtoDataTable. |
column= new DataColumn(); |
column.DataType=System.Type.GetType( "System.Int32" ); |
column.ColumnName= "id" ; |
column.ReadOnly= true ; |
column.Unique= true ; |
//AddtheColumntotheDataColumnCollection. |
table.Columns.Add(column); |
//Createsecondcolumn. |
column= new DataColumn(); |
column.DataType=System.Type.GetType( "System.String" ); |
column.ColumnName= "ParentItem" ; |
column.AutoIncrement= false ; |
column.Caption= "ParentItem" ; |
column.ReadOnly= false ; |
column.Unique= false ; |
//Addthecolumntothetable. |
table.Columns.Add(column); |
//MaketheIDcolumntheprimarykeycolumn. |
DataColumn[]PrimaryKeyColumns= new DataColumn[1]; |
PrimaryKeyColumns[0]=table.Columns[ "id" ]; |
table.PrimaryKey=PrimaryKeyColumns; |
//InstantiatetheDataSetvariable. |
dataSet= new DataSet(); |
//AddthenewDataTabletotheDataSet. |
dataSet.Tables.Add(table); |
//CreatethreenewDataRowobjectsandadd |
//themtotheDataTable |
for ( int i=0;i<=2;i++) |
{ |
row=table.NewRow(); |
row[ "id" ]=i; |
row[ "ParentItem" ]= "ParentItem" +i; |
table.Rows.Add(row); |
} |
} |
private void MakeChildTable() |
{ |
//CreateanewDataTable. |
DataTabletable= new DataTable( "childTable" ); |
DataColumncolumn; |
DataRowrow; |
//CreatefirstcolumnandaddtotheDataTable. |
column= new DataColumn(); |
column.DataType=System.Type.GetType( "System.Int32" ); |
column.ColumnName= "ChildID" ; |
column.AutoIncrement= true ; |
column.Caption= "ID" ; |
column.ReadOnly= true ; |
column.Unique= true ; |
//AddthecolumntotheDataColumnCollection. |
table.Columns.Add(column); |
//Createsecondcolumn. |
column= new DataColumn(); |
column.DataType=System.Type.GetType( "System.String" ); |
column.ColumnName= "ChildItem" ; |
column.AutoIncrement= false ; |
column.Caption= "ChildItem" ; |
column.ReadOnly= false ; |
column.Unique= false ; |
table.Columns.Add(column); |
//Createthirdcolumn. |
column= new DataColumn(); |
column.DataType=System.Type.GetType( "System.Int32" ); |
column.ColumnName= "ParentID" ; |
column.AutoIncrement= false ; |
column.Caption= "ParentID" ; |
column.ReadOnly= false ; |
column.Unique= false ; |
table.Columns.Add(column); |
dataSet.Tables.Add(table); |
//CreatethreesetsofDataRowobjects, |
//fiverowseach,andaddtoDataTable. |
for ( int i=0;i<=4;i++) |
{ |
row=table.NewRow(); |
row[ "childID" ]=i; |
row[ "ChildItem" ]= "Item" +i; |
row[ "ParentID" ]=0; |
table.Rows.Add(row); |
} |
for ( int i=0;i<=4;i++) |
{ |
row=table.NewRow(); |
row[ "childID" ]=i+5; |
row[ "ChildItem" ]= "Item" +i; |
row[ "ParentID" ]=1; |
table.Rows.Add(row); |
} |
for ( int i=0;i<=4;i++) |
{ |
row=table.NewRow(); |
row[ "childID" ]=i+10; |
row[ "ChildItem" ]= "Item" +i; |
row[ "ParentID" ]=2; |
table.Rows.Add(row); |
} |
} |
private void MakeDataRelation() |
{ |
//DataRelationrequirestwoDataColumn |
//(parentandchild)andaname. |
DataColumnparentColumn= |
dataSet.Tables[ "ParentTable" ].Columns[ "id" ]; |
DataColumnchildColumn= |
dataSet.Tables[ "ChildTable" ].Columns[ "ParentID" ]; |
DataRelationrelation= new |
DataRelation( "parent2Child" ,parentColumn,childColumn); |
dataSet.Tables[ "ChildTable" ].ParentRelations.Add(relation); |
} |
private void BindToDataGrid() |
{ |
//InstructtheDataGridtobindtotheDataSet,withthe |
//ParentTableasthetopmostDataTable. |
dataGrid1.SetDataBinding(dataSet, "ParentTable" ); |
} |
DataTabledt=newDataTable();
dt.Columns.Add("Name",typeof(string));
//增加一列,列名为Name
DataRowdr=dt.NewRow();
dr["Name"]="SpringYang";
dt.Rows.Add(dr);
//增加一行;
dt.Rows.Remove(dr);
//删除一行;
dt.Cloumns.Remove("Name");
删除一列
DataTabledtnew=dt.Copy();
dtnew指向的是dt所指向的内存地址,给dtnew操作也是对dt操作
只有这样:
DataTabledttwo=dt.Clone();
foreach(DataRowdrindt.Rows)
{
DataRownewdr=dttwo.NewRow();
newdr.ItemArray=dr.ItemArray;
dttwo.Rows.Add(newdr);
}
再对dttwo操作就不会修改dt了.这应该是值类型和引用类型的区别吧.
if($!=jQuery){
$=jQuery.noConflict();
}
varisLogined=true;
varcb_blogId=83225;
varcb_entryId=1968218;
varcb_blogApp="springyangwc";
varcb_blogUserGuid="146fcf3f-a706-e011-ac81-842b2b196315";
varcb_entryCreatedDate='2011/3/118:11:00';
相关文章推荐
- Datatable.Select()用法简介
- DataTable 的用法简介
- Datatable.Select()用法简介
- JS之kindeditor的用法简介
- HTTP Modules简介及典型用法
- window.showModalDialog以及window.open用法简介
- tf.nn.conv2d用法简介
- Datatable的Select()方法简介
- nth_element 用法简介
- C++之Boost::array用法简介
- Postman用法简介
- [Perl] Data::Dumper模块的用法简介 收藏
- DataSet及DataTable用法详解
- box-shadow用法简介
- java synchronized 关键字(4)用法简介
- block简介与用法
- 简介AngularJS中$http服务的用法
- 转贴:DATATABLE用法 百度空间_应用平台
- window.showModalDialog以及window.open用法简介
- split用法简介