天天看點

c# 執行DataTable中的查詢傳回新的DataTable

調用

//task 源資料DataTable
   DataTable newdt = GetNewDataTable(task, "Remark='" + precode + "' and taskType='Preload_end'  and BankOrderId='" + _orderid + "'", "");


  /// 執行DataTable中的查詢傳回新的DataTable
    /// </summary>
    /// <param name="dt">源資料DataTable</param>
    /// <param name="condition">查詢條件</param>
    /// <returns></returns>
    private static DataTable GetNewDataTable(DataTable dt, string condition, string sortstr)
    {
        DataTable newdt = new DataTable();
        newdt = dt.Clone();
        DataRow[] dr = dt.Select(condition, sortstr);
        for (int i = 0; i < dr.Length; i++)
        {
            newdt.ImportRow((DataRow)dr[i]);
        }
        return newdt;//傳回的查詢結果
    }
           

DataTable DataRow DataRow[] List 的簡單使用

DataTable newdt = GetNewDataTable(task, "Remark='" + precode + "' and taskType='Preload_end'  and BankOrderId='" + _orderid + "'", "");


 DataRow preloadout = task.Select(" Remark='" + precode + "' and taskType='Preload_out' and BankOrderId='" + _orderid + "' ", "OperTime desc ").FirstOrDefault();


 //clrtotalretailpreloadList 是 DataTable 類型
DataRow[] clrretailloadList = clrtotalretailpreloadList.Select("TaskDetailId='" + _orderid + "' and IsEndPack='true' ").ToArray();
 
List<Guid> loadIds = clrtotalretailpreloadList.AsEnumerable().Select(a => a.Field<Guid>("Id")).ToList();
           

繼續閱讀