acceptchanges?C# DataTable
一、make it clear that造句
1.Butasonegetscloser,thewindowsmakeitclearthatthisisabuilding.但近处可以看到窗户,这清楚地表明这是一座建筑。
2.ObviouschangesmakeitclearthatVolkswagenacceptthechallengeofthefutureandhasalreadycommittedtoafundamentalprocessofchange.所有这些革新都清楚得表明,大众公司接受未来的挑战,并将自己置身于一个立足变化的过程中。
3.Eventhepositivereactionsmakeitclearthatthewordsareexpressedrarely:Iamsohappyyoucalledtosaythat,itisthehappiestthingthathappenedtomein2014,oneparentanswered.即使是正面的回应,父母清楚地表明这句话用的很少:我很高兴你打电话说这句话,这是我2014年最开心的一件事了。
二、C# DataTable
一、DataTable简介
(1)构造函数
DataTable()不带参数初始化DataTable类的新实例。
DataTable(stringtableName)用指定的表名初始化DataTable类的新实例。
DataTable(stringtableName,stringtableNamespace)用指定的表名和命名空间初始化DataTable类的新实例。
(2)常用属性
CaseSensitive指示表中的字符串比较是否区分大小写。
ChildRelations获取此DataTable的子关系的集合。
Columns获取属于该表的列的集合。
Constraints获取由该表维护的约束的集合。
DataSet获取此表所属的DataSet。DataSet相关信息,可见我以前的一篇文章《数据访问(2)-DataSet》
DefaultView获取可能包括筛选视图或游标位置的表的自定义视图。
HasErrors获取一个值,该值指示该表所属的DataSet的任何表的任何行中是否有错误。
MinimumCapacity获取或设置该表最初的起始大小。该表中行的最初起始大小。默认值为50。
Rows获取属于该表的行的集合。
TableName获取或设置DataTable的名称。
(3)常用方法
AcceptChanges()提交自上次调用AcceptChanges()以来对该表进行的所有更改。
BeginInit()开始初始化在窗体上使用或由另一个组件使用的DataTable。初始化发生在运行时。
Clear()清除所有数据的DataTable。
Clone()克隆DataTable的结构,包括所有DataTable架构和约束。
EndInit()结束在窗体上使用或由另一个组件使用的DataTable的初始化。初始化发生在运行时。
ImportRow(DataRowrow)将DataRow复制到DataTable中,保留任何属性设置以及初始值和当前值。
Merge(DataTabletable)将指定的DataTable与当前的DataTable合并。
NewRow()创建与该表具有相同架构的新DataRow。
二、DataTable使用技巧
(1)CreateaDataTable
DataTabledt=newDataTable("Table_AX");
(2)AddcolumnsforDataTable
//Method1
dt.Columns.Add("column0",System.Type.GetType("System.String"));
//Method2
DataColumndc=newDataColumn("column1",System.Type.GetType("System.Boolean"));
dt.Columns.Add(dc);
(3)AddrowsforDataTable
//Initializetherow
DataRowdr=dt.NewRow();
dr["column0"]="AX";
dr["column1"]=true;
dt.Rows.Add(dr);
//Doesn'tinitializetherow
DataRowdr1=dt.NewRow();
dt.Rows.Add(dr1);
(4)Selectrow
//Searchthesecondrow如果没有赋值,则用isnull来select
DataRow[]drs=dt.Select("column1isnull");
DataRow[]drss=dt.Select("column0='AX'");
(5)CopyDataTableincludedata
DataTabledtNew=dt.Copy();
(6)CopyDataTableonlyscheme
DataTabledtOnlyScheme=dt.Clone();
(7)Operateonerow
//对dt的操作
//Method1
DataRowdrOperate=dt.Rows[0];
drOperate["column0"]="AXzhz";
drOperate["column1"]=false;
//Method2
drOperate[0]="AXzhz";
drOperate[1]=false;
//Method3
dt.Rows[0]["column0"]="AXzhz";
dt.Rows[0]["column1"]=false;
//Method4
dt.Rows[0][0]="AXzhz";
dt.Rows[0][1]=false;
(8)EvaluateanotherDataTable'srowtocurrentDatatable
dtOnlyScheme.Rows.Add(dt.Rows[0].ItemArray);
(9)Converttostring
System.IO.StringWritersw=newSystem.IO.StringWriter();
System.Xml.XmlTextWriterxw=newSystem.Xml.XmlTextWriter(sw);
dt.WriteXml(xw);
strings=sw.ToString();
(10)FilterDataTable
dt.DefaultView.RowFilter="column1<>true";
dt.DefaultView.RowFilter="column1=true";
(11)Sortrow
dt.DefaultView.So