方法一:
复制datatable结构,复制datatable结构和数据,筛选Datatable数据
复制datatable结构: datatable .clone()
复制datatable结构和数据: datatable .copy()
筛选datatable :
datatable .select("name like '%abc%'")
datatable .select("name ='abc'")
datatable .select("name >'abc'")
方法二:
DataTable.Copy 方法
返回值
新的 DataTable,它具有与该 DataTable 相同的结构(表架构和约束)和数据。
注意 如果这些类已经过派生,则副本也具有相同的派生类。
示例
以下示例使用 Copy 方法创建初始 DataTable 的副本。
[Visual Basic]
Private Sub CopyDataTable(ByVal myDataTable As DataTable )
' Create an object variable for the copy.
Dim copyDataTable As DataTable
copyDataTable = myDataTable.Copy()
' Insert code to work with the copy.
End Sub
[C#]
private void CopyDataTable(DataTable myDataTable){
// Create an object variable for the copy.
DataTable copyDataTable;
copyDataTable = myDataTable.Copy();
// Insert code to work with the copy.
}
DataTable.Clone 方法
返回值
新的 DataTable,与当前的 DataTable 具有相同的架构。
备注
注意 如果这些类已经过派生,则副本也具有相同的派生类。
示例
以下示例创建 DataTable 对象架构的复本。
[Visual Basic]
Private Sub GetClone(ByVal myDataTable As DataTable)
' Get a clone of the original DataTable.
Dim cloneTable As DataTable
cloneTable = myDataTable.Clone()
' Insert code to work with clone of the DataTable.
End Sub
[C#]
private void GetClone(DataTable myDataTable){
// Get a clone of the original DataTable.
DataTable cloneTable;
cloneTable = myDataTable.Clone();
// Insert code to work with clone of the DataTable.
}
方法一和二都经过测试,可以直接使用。
注意:为了数据集在复制过程中出现覆盖的情况,复制数据后把复制后的数据集重命名: DataTable dt = new DataTable ();
dt.TableName = "newtable";
////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
DataTable dtSelct = frmData.Copy();
string code = MesDataGird.Rows[0].Cells[2].Value.ToString();
string rname = MesDataGird.Rows[0].Cells[1].Value.ToString();
string cust_msu = MesDataGird.Rows[0].Cells[3].Value.ToString();
DataRow slctRow = dtSelct.Rows[0];
slctRow["code"] = code;
slctRow["rname"] = rname;
slctRow["cust_msu"] = cust_msu;
if (code != "")
{
DataView dv = new DataView(dtSelct);
dv.RowFilter = "code like '%" + code + "%'";
dtSelct = dv.ToTable();
dv.Dispose();
}
复制表结构和数据,并按条件进行筛选