//dtAll为全部数据
DataTable dtFilter = dtAll.Copy();
List<DataRow> listRow = new List<DataRow>();
//listAll为我在dgv中选中行的数据
foreach (Cost_FeeInfo cost in listAll)
{
DataRow[] drSelect =dtAll.Select("BusinessNum='" + cost.BusinessNum + "' and CostName='"+cost.CostName+"'");
listRow.AddRange(drSelect);
}
foreach (DataRow dr in listRow)
{
dtFilter.Rows.Add(dr);
}问题是 我如何把我dtAll.select方法获得的数据添加到一个新的datatable
求高手解答
static void Main(string[] args)
{
DataTable dt = MakeParentTable();
DataTable dt2 = MakeNullTable();
DataTable dt3 = new DataTable();
dt.Select("id=1").ToList().ForEach(x =>
{ DataRow row = dt2.NewRow();
row["id"] = x["id"];
row["ParentItem"] = x["ParentItem"];
dt2.Rows.Add(row);
});
Console.WriteLine(dt2.Rows[0]["id"].ToString());
Console.Read();
} public static DataTable MakeParentTable()
{
// Create a new DataTable.
System.Data.DataTable table = new DataTable("ParentTable");
// Declare variables for DataColumn and DataRow objects.
DataColumn column;
DataRow row;
DataSet dataSet; // Create new DataColumn, set DataType,
// ColumnName and add to DataTable.
column = new DataColumn();
column.DataType = System.Type.GetType("System.Int32");
column.ColumnName = "id";
column.ReadOnly = true;
column.Unique = true;
// Add the Column to the DataColumnCollection.
table.Columns.Add(column); // Create second column.
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;
// Add the column to the table.
table.Columns.Add(column); // Make the ID column the primary key column.
DataColumn[] PrimaryKeyColumns = new DataColumn[1];
PrimaryKeyColumns[0] = table.Columns["id"];
table.PrimaryKey = PrimaryKeyColumns; // Instantiate the DataSet variable.
dataSet = new DataSet();
// Add the new DataTable to the DataSet.
dataSet.Tables.Add(table); // Create three new DataRow objects and add
// them to the DataTable
for (int i = 0; i <= 4; i++)
{
row = table.NewRow();
row["id"] = i;
row["ParentItem"] = "ParentItem " + i;
table.Rows.Add(row);
} return dataSet.Tables[0];
} public static DataTable MakeNullTable()
{
System.Data.DataTable table = new DataTable("ParentTable");
// Declare variables for DataColumn and DataRow objects.
DataColumn column;
DataRow row;
DataSet dataSet; // Create new DataColumn, set DataType,
// ColumnName and add to DataTable.
column = new DataColumn();
column.DataType = System.Type.GetType("System.Int32");
column.ColumnName = "id";
column.ReadOnly = true;
column.Unique = true;
// Add the Column to the DataColumnCollection.
table.Columns.Add(column); // Create second column.
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;
// Add the column to the table.
table.Columns.Add(column); // Make the ID column the primary key column.
DataColumn[] PrimaryKeyColumns = new DataColumn[1];
PrimaryKeyColumns[0] = table.Columns["id"];
table.PrimaryKey = PrimaryKeyColumns;
return table;
}
代码直接从msdn上copy过来的
//筛选年龄大于20的集合后添加到新的DataTable 中
DataTable newDataTable = dtAll.Select("age>20").CopyToDataTable();
var rows = from row in dtAll.AsEnumerable().Select(item => item.Field<string>("BusinessNum") == cost.BusinessNum && item.Field<string>("CostName=") == cost.CostName)
select row;
dtFilter.Rows.Add(rows);
var rows = from row in dtAll.Select(string.Format("BusinessNum={0} and CostName={1}", cost.BusinessNum, cost.CostName))
select row;
dtFilter.Rows.Add(rows);
DataTable dtFilter = dtAll.Clone();
var rows = dtAll.Select(string.Format("BusinessNum='{0}' and CostName='{1}'", cost.BusinessNum, cost.CostName));
dtFilter.Rows.Add(rows);
DataTable dtAll=CreateDataTable();//筛选年龄大于20的集合后添加到新的DataTable中DataTable newDataTable.Merge(dtAll.Select("age>20").CopyToDataTable());
newDataTable.Merge(dtAll.Select("age>20").CopyToDataTable());