C# DataTable的詳細用法



<p class="MsoNormal" style="margin:0cm 0cm 0pt"><span style="font-family:SimSun; color:#2a2a2a; font-size:10.5pt" lang="ZH-CN">在项目中经常用到</span><span style="font-family:Verdana; color:#2a2a2a; font-size:10.5pt" lang="EN-US">DataTable,</span><span style="font-family:SimSun; color:#2a2a2a; font-size:10.5pt" lang="ZH-CN">如果</span><span style="font-family:Verdana; color:#2a2a2a; font-size:10.5pt" lang="EN-US">DataTable</span><span style="font-family:SimSun; color:#2a2a2a; font-size:10.5pt" lang="ZH-CN">使用得当,不仅能使程序简洁实用,而且能够提高性能,达到事半功倍的效果,现对</span><span style="font-family:Verdana; color:#2a2a2a; font-size:10.5pt" lang="EN-US">DataTable</span><span style="font-family:SimSun; color:#2a2a2a; font-size:10.5pt" lang="ZH-CN">的使用技巧进行一下总结。</span><span style="font-family:SimSun; color:#2a2a2a; font-size:10.5pt" lang="EN-US">&nbsp;</span></p>
<p class="MsoNormal" style="margin:0cm 0cm 0pt"><span style="font-family:Verdana; color:#2a2a2a; font-size:10.5pt" lang="EN-US">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
</span><strong><span style="font-family:SimSun; color:#2a2a2a; font-size:10.5pt">一、</span><span style="font-family:Verdana; color:#2a2a2a; font-size:10.5pt" lang="EN-US">DataTable</span><span style="font-family:SimSun; color:#2a2a2a; font-size:10.5pt">简介</span></strong><span style="font-family:Verdana; color:#2a2a2a; font-size:10.5pt" lang="EN-US">&nbsp;&nbsp;&nbsp;&nbsp;</span></p>
<p class="MsoNormal" style="margin:0cm 0cm 0pt"><span style="font-family:Verdana; color:#2a2a2a; font-size:10.5pt" lang="EN-US">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;(1)</span><span style="font-family:SimSun; color:#2a2a2a; font-size:10.5pt">构造函数</span><span style="font-family:Verdana; color:#2a2a2a; font-size:10.5pt" lang="EN-US">&nbsp;<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;DataTable()&nbsp;&nbsp; </span><span style="font-family:SimSun; color:#2a2a2a; font-size:10.5pt">不带参数初始化</span><span style="font-family:Verdana; color:#2a2a2a; font-size:10.5pt" lang="EN-US">DataTable
</span><span style="font-family:SimSun; color:#2a2a2a; font-size:10.5pt">类的新实例。</span><span style="font-family:Verdana; color:#2a2a2a; font-size:10.5pt" lang="EN-US">&nbsp;<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;DataTable(string tableName)&nbsp; </span><span style="font-family:SimSun; color:#2a2a2a; font-size:10.5pt">用指定的表名初始化</span><span style="font-family:Verdana; color:#2a2a2a; font-size:10.5pt" lang="EN-US">DataTable
</span><span style="font-family:SimSun; color:#2a2a2a; font-size:10.5pt">类的新实例。</span><span style="font-family:Verdana; color:#2a2a2a; font-size:10.5pt" lang="EN-US">&nbsp;<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;DataTable(string tableName, string tableNamespace) </span><span style="font-family:SimSun; color:#2a2a2a; font-size:10.5pt">用指定的表名和命名空间初始化</span><span style="font-family:Verdana; color:#2a2a2a; font-size:10.5pt" lang="EN-US">DataTable
</span><span style="font-family:SimSun; color:#2a2a2a; font-size:10.5pt">类的新实例。</span><span style="font-family:Verdana; color:#2a2a2a; font-size:10.5pt" lang="EN-US">&nbsp;<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;(2) </span><span style="font-family:SimSun; color:#2a2a2a; font-size:10.5pt">常用属性</span><span style="font-family:Verdana; color:#2a2a2a; font-size:10.5pt" lang="EN-US">&nbsp;<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;CaseSensitive&nbsp;&nbsp;&nbsp; </span><span style="font-family:SimSun; color:#2a2a2a; font-size:10.5pt">指示表中的字符串比较是否区分大小写。</span><span style="font-family:Verdana; color:#2a2a2a; font-size:10.5pt" lang="EN-US">&nbsp;<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;ChildRelations&nbsp;&nbsp; </span><span style="font-family:SimSun; color:#2a2a2a; font-size:10.5pt">获取此</span><span style="font-family:Verdana; color:#2a2a2a; font-size:10.5pt" lang="EN-US">DataTable
</span><span style="font-family:SimSun; color:#2a2a2a; font-size:10.5pt">的子关系的集合。</span><span style="font-family:Verdana; color:#2a2a2a; font-size:10.5pt" lang="EN-US">&nbsp;<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Columns&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </span><span style="font-family:SimSun; color:#2a2a2a; font-size:10.5pt">获取属于该表的列的集合。</span><span style="font-family:Verdana; color:#2a2a2a; font-size:10.5pt" lang="EN-US">&nbsp;<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Constraints&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </span><span style="font-family:SimSun; color:#2a2a2a; font-size:10.5pt">获取由该表维护的约束的集合。</span><span style="font-family:Verdana; color:#2a2a2a; font-size:10.5pt" lang="EN-US">&nbsp;<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="font-family:Verdana; color:#2a2a2a; font-size:10.5pt" lang="EN-US">DataSet&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
</span><span style="font-family:SimSun; color:#2a2a2a; font-size:10.5pt" lang="ZH-CN">获取此表所属的</span><span style="font-family:Verdana; color:#2a2a2a; font-size:10.5pt" lang="EN-US">DataSet</span><span style="font-family:SimSun; color:#2a2a2a; font-size:10.5pt" lang="ZH-CN">。</span><span style="font-family:Verdana; color:#2a2a2a; font-size:10.5pt" lang="EN-US">&nbsp;<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;DefaultView&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </span><span style="font-family:SimSun; color:#2a2a2a; font-size:10.5pt" lang="ZH-CN">获取可能包括筛选视图或游标位置的表的自定义视图。</span><span style="font-family:Verdana; color:#2a2a2a; font-size:10.5pt" lang="EN-US">&nbsp;<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="font-family:Verdana; color:#2a2a2a; font-size:10.5pt" lang="EN-US">HasErrors&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
</span><span style="font-family:SimSun; color:#2a2a2a; font-size:10.5pt">获取一个值,该值指示该表所属的</span><span style="font-family:Verdana; color:#2a2a2a; font-size:10.5pt" lang="EN-US">DataSet
</span><span style="font-family:SimSun; color:#2a2a2a; font-size:10.5pt">的任何表的任何行中是否有错误。</span><span style="font-family:Verdana; color:#2a2a2a; font-size:10.5pt" lang="EN-US">&nbsp;<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;MinimumCapacity&nbsp; </span><span style="font-family:SimSun; color:#2a2a2a; font-size:10.5pt">获取或设置该表最初的起始大小。该表中行的最初起始大小。</span><span style="font-family:SimSun; color:#2a2a2a; font-size:10.5pt" lang="ZH-CN">默认值为</span><span style="font-family:Verdana; color:#2a2a2a; font-size:10.5pt" lang="EN-US">
 50</span><span style="font-family:SimSun; color:#2a2a2a; font-size:10.5pt" lang="ZH-CN">。</span><span style="font-family:Verdana; color:#2a2a2a; font-size:10.5pt" lang="EN-US">&nbsp;<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Rows&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </span><span style="font-family:SimSun; color:#2a2a2a; font-size:10.5pt" lang="ZH-CN">获取属于该表的行的集合。</span><span style="font-family:Verdana; color:#2a2a2a; font-size:10.5pt" lang="EN-US">&nbsp;<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="font-family:Verdana; color:#2a2a2a; font-size:10.5pt" lang="EN-US">TableName&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
</span><span style="font-family:SimSun; color:#2a2a2a; font-size:10.5pt">获取或设置</span><span style="font-family:Verdana; color:#2a2a2a; font-size:10.5pt" lang="EN-US">DataTable
</span><span style="font-family:SimSun; color:#2a2a2a; font-size:10.5pt">的名称。</span><span style="font-family:SimSun; color:#2a2a2a; font-size:10.5pt" lang="EN-US">&nbsp;</span></p>
<p class="MsoNormal" style="margin:0cm 0cm 0pt"><span style="font-family:Verdana; color:#2a2a2a; font-size:10.5pt" lang="EN-US">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;(3)</span><span style="font-family:SimSun; color:#2a2a2a; font-size:10.5pt">常用方法</span><span style="font-family:Verdana; color:#2a2a2a; font-size:10.5pt" lang="EN-US">&nbsp;<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;AcceptChanges()&nbsp;&nbsp; </span><span style="font-family:SimSun; color:#2a2a2a; font-size:10.5pt">提交自上次调用</span><span style="font-family:Verdana; color:#2a2a2a; font-size:10.5pt" lang="EN-US">AcceptChanges()
</span><span style="font-family:SimSun; color:#2a2a2a; font-size:10.5pt">以来对该表进行的所有更改。</span><span style="font-family:Verdana; color:#2a2a2a; font-size:10.5pt" lang="EN-US">&nbsp;<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;BeginInit()&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </span><span style="font-family:SimSun; color:#2a2a2a; font-size:10.5pt">开始初始化在窗体上使用或由另一个组件使用的</span><span style="font-family:Verdana; color:#2a2a2a; font-size:10.5pt" lang="EN-US">DataTable</span><span style="font-family:SimSun; color:#2a2a2a; font-size:10.5pt">。初始化发生在运行时。</span></p>
<p class="MsoNormal" style="margin:0cm 0cm 0pt"><span style="font-family:Verdana; color:#2a2a2a; font-size:10.5pt" lang="EN-US">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Clear()&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
</span><span style="font-family:SimSun; color:#2a2a2a; font-size:10.5pt">清除所有数据的</span><span style="font-family:Verdana; color:#2a2a2a; font-size:10.5pt" lang="EN-US">DataTable</span><span style="font-family:SimSun; color:#2a2a2a; font-size:10.5pt">。</span><span style="font-family:Verdana; color:#2a2a2a; font-size:10.5pt" lang="EN-US">&nbsp;<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Clone()&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </span><span style="font-family:SimSun; color:#2a2a2a; font-size:10.5pt">克隆</span><span style="font-family:Verdana; color:#2a2a2a; font-size:10.5pt" lang="EN-US">DataTable
</span><span style="font-family:SimSun; color:#2a2a2a; font-size:10.5pt">的结构,包括所有</span><span style="font-family:Verdana; color:#2a2a2a; font-size:10.5pt" lang="EN-US">DataTable
</span><span style="font-family:SimSun; color:#2a2a2a; font-size:10.5pt"><a href="http://lib.csdn.net/base/architecture" class="replace_word" title="大型网站架构知识库" target="_blank" style="color:#df3434; font-weight:bold;">架构</a>和约束。</span><span style="font-family:Verdana; color:#2a2a2a; font-size:10.5pt" lang="EN-US">&nbsp;<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;EndInit()&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </span><span style="font-family:SimSun; color:#2a2a2a; font-size:10.5pt">结束在窗体上使用或由另一个组件使用的</span><span style="font-family:Verdana; color:#2a2a2a; font-size:10.5pt" lang="EN-US">DataTable
</span><span style="font-family:SimSun; color:#2a2a2a; font-size:10.5pt">的初始化。初始化发生在运行时。</span><span style="font-family:Verdana; color:#2a2a2a; font-size:10.5pt" lang="EN-US">&nbsp;<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;ImportRow(DataRow row)&nbsp;&nbsp;&nbsp; </span><span style="font-family:SimSun; color:#2a2a2a; font-size:10.5pt">将</span><span style="font-family:Verdana; color:#2a2a2a; font-size:10.5pt" lang="EN-US">DataRow
</span><span style="font-family:SimSun; color:#2a2a2a; font-size:10.5pt">复制到</span><span style="font-family:Verdana; color:#2a2a2a; font-size:10.5pt" lang="EN-US">DataTable
</span><span style="font-family:SimSun; color:#2a2a2a; font-size:10.5pt">中,保留任何属性设置以及初始值和当前值。</span><span style="font-family:Verdana; color:#2a2a2a; font-size:10.5pt" lang="EN-US">&nbsp;<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Merge(DataTable table)&nbsp; </span><span style="font-family:SimSun; color:#2a2a2a; font-size:10.5pt">将指定的</span><span style="font-family:Verdana; color:#2a2a2a; font-size:10.5pt" lang="EN-US">DataTable
</span><span style="font-family:SimSun; color:#2a2a2a; font-size:10.5pt">与当前的</span><span style="font-family:Verdana; color:#2a2a2a; font-size:10.5pt" lang="EN-US">DataTable
</span><span style="font-family:SimSun; color:#2a2a2a; font-size:10.5pt">合并。</span><span style="font-family:Verdana; color:#2a2a2a; font-size:10.5pt" lang="EN-US">&nbsp;<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;NewRow()&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </span><span style="font-family:SimSun; color:#2a2a2a; font-size:10.5pt">创建与该表具有相同架构的新</span><span style="font-family:Verdana; color:#2a2a2a; font-size:10.5pt" lang="EN-US">DataRow</span><span style="font-family:SimSun; color:#2a2a2a; font-size:10.5pt">。</span><span style="font-family:Verdana; color:#2a2a2a; font-size:10.5pt" lang="EN-US"><br>
&nbsp;<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </span><strong><span style="font-family:SimSun; color:#2a2a2a; font-size:10.5pt">二、</span><span style="font-family:Verdana; color:#2a2a2a; font-size:10.5pt" lang="EN-US">DataTable</span><span style="font-family:SimSun; color:#2a2a2a; font-size:10.5pt">使用技巧</span></strong></p>
<p class="MsoNormal" style="margin:0cm 0cm 0pt"><span style="font-family:SimSun; color:#2a2a2a; font-size:10.5pt" lang="EN-US">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
</span><span style="font-family:SimSun; color:#2a2a2a; font-size:10.5pt">(<span lang="EN-US">1</span>)<span lang="EN-US">Create a DataTable<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; DataTable dt = new DataTable("Table_AX");&nbsp;</span></span></p>
<p class="MsoNormal" style="margin:0cm 0cm 0pt"><span style="font-family:SimSun; color:#2a2a2a; font-size:10.5pt" lang="EN-US">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
</span><span style="font-family:SimSun; color:#2a2a2a; font-size:10.5pt">(<span lang="EN-US">2</span>)<span lang="EN-US">Add columns for DataTable<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; //Method 1<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; dt.Columns.Add("column0", System.Type.GetType("System.String"));<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; //Method 2<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; DataColumn dc = new DataColumn("column1", System.Type.GetType("System.Boolean"));<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; dt.Columns.Add(dc);&nbsp;<br>
<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </span>(<span lang="EN-US">3</span>)<span lang="EN-US">Add rows for DataTable<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; //Initialize the row<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; DataRow dr = dt.NewRow();<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; dr["column0"] = "AX";<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; dr["column1"] = true;<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; dt.Rows.Add(dr);<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; //Doesn't initialize the row<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; DataRow dr1 = dt.NewRow();<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; dt.Rows.Add(dr1);&nbsp;&nbsp;</span></span></p>
<p class="MsoNormal" style="margin:0cm 0cm 0pt"><span style="font-family:SimSun; color:#2a2a2a; font-size:10.5pt" lang="EN-US">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
</span><span style="font-family:SimSun; color:#2a2a2a; font-size:10.5pt">(<span lang="EN-US">4</span>)<span lang="EN-US">Select row<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; //Search the second row </span>如果没有赋值<span lang="EN-US">,</span>则用<span lang="EN-US">is null</span>来<span lang="EN-US">select<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; DataRow[] drs = dt.Select("column1 is null");<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; DataRow[] drss = dt.Select("column0 = 'AX'");&nbsp;</span></span></p>
<p class="MsoNormal" style="margin:0cm 0cm 0pt"><span style="font-family:SimSun; color:#2a2a2a; font-size:10.5pt" lang="EN-US">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
</span><span style="font-family:SimSun; color:#2a2a2a; font-size:10.5pt">(<span lang="EN-US">5</span>)<span lang="EN-US">Copy DataTable include data<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; DataTable dtNew = dt.Copy();&nbsp;<br>
<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </span>(<span lang="EN-US">6</span>)<span lang="EN-US">Copy DataTable only scheme<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; DataTable dtOnlyScheme = dt.Clone();&nbsp;<br>
<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </span>(<span lang="EN-US">7</span>)<span lang="EN-US">Operate one row<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; //</span>对<span lang="EN-US">dt</span>的操作<span lang="EN-US"><br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; //Method 1<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; DataRow drOperate = dt.Rows[0];<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; drOperate["column0"] = "AXzhz";<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; drOperate["column1"] = false;<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; //Method 2<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; drOperate[0] = "AXzhz";<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; drOperate[1] = false;<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; //Method 3<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; dt.Rows[0]["column0"] = "AXzhz";<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; dt.Rows[0]["column1"] = false;<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; //Method 4<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; dt.Rows[0][0] = "AXzhz";<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; dt.Rows[0][1] = false;&nbsp;<br>
<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </span>(<span lang="EN-US">8</span>)<span lang="EN-US">Evaluate another DataTable's row to current Datatable<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; dtOnlyScheme.Rows.Add(dt.Rows[0].ItemArray);&nbsp;<br>
<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </span>(<span lang="EN-US">9</span>)<span lang="EN-US">Convert to string<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; System.IO.StringWriter sw = new System.IO.StringWriter();<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; System.Xml.XmlTextWriter xw = new System.Xml.XmlTextWriter(sw);<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; dt.WriteXml(xw);<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; string s = sw.ToString();<br>
<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </span>(<span lang="EN-US">10</span>)<span lang="EN-US">Filter DataTable<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; dt.DefaultView.RowFilter = "column1 &lt;&gt; true";<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; dt.DefaultView.RowFilter = "column1 = true";<br>
<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </span>(<span lang="EN-US">11</span>)<span lang="EN-US">Sort row<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; dt.DefaultView.Sort = "ID ,Name ASC";<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; dt=dt.DefaultView.ToTable();<br>
<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </span>(<span lang="EN-US">12</span>)<span lang="EN-US">Bind DataTable<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; //</span>绑定的其实是<span lang="EN-US">DefaultView<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; gvTestDataTable.DataSource = dt;<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; gvTestDataTable.DataBind();<br>
<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </span>(<span lang="EN-US">13</span>)<span lang="EN-US">judge the DataTable</span>’<span lang="EN-US">s Column name is a string<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; //</span>判断一个字符串是否为<span lang="EN-US">DataTable</span>的列名<span lang="EN-US"><br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; dtInfo.Columns.Contains("AX");<br>
<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </span>(<span lang="EN-US">14</span>)<span lang="EN-US">DataTable convert to XML and XML convert to DataTable<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; protected void Page_Load(object sender, EventArgs e)<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; {<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; DataTable dt_AX = new DataTable();<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; //dt_AX.Columns.Add("Sex", typeof(System.Boolean));<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; //DataRow dr = dt_AX.NewRow();<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; //dr["Sex"] = true;<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; //dt_AX.Rows.Add(dr);<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; string xml=ConvertBetweenDataTableAndXML_AX(dt_AX);<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; DataTable dt = ConvertBetweenDataTableAndXML_AX(xml);<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; }<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; public string ConvertBetweenDataTableAndXML_AX(DataTable dtNeedCoveret)<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; {<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; System.IO.TextWriter tw = new System.IO.StringWriter();<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; //if TableName is empty, WriteXml() will throw Exception.&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span></span></p>
<p class="MsoNormal" style="margin:0cm 0cm 0pt"><span style="font-family:SimSun; color:#2a2a2a; font-size:10.5pt" lang="EN-US">dtNeedCoveret.TableName=dtNeedCoveret.TableName.Length==0?"Table_AX":dtNeedCoveret.TableName;<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; dtNeedCoveret.WriteXml(tw);<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; dtNeedCoveret.WriteXmlSchema(tw);<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; return tw.ToString();<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; }<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; public DataTable ConvertBetweenDataTableAndXML_AX(string xml)<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; {<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; System.IO.TextReader trDataTable = new System.IO.StringReader(xml.Substring(0, xml.IndexOf("&lt;?xml")));<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; System.IO.TextReader trSchema = new System.IO.StringReader(xml.Substring(xml.IndexOf("&lt;?xml")));<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; DataTable dtReturn = new DataTable();<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; dtReturn.ReadXmlSchema(trSchema);<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; dtReturn.ReadXml(trDataTable);<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; return dtReturn;<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; }</span></p>
<p class="MsoNormal" style="margin:0cm 0cm 0pt"><span lang="EN-US"><span style="font-family:Times New Roman; font-size:12px">&nbsp;</span></span></p>
   

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值