From 1948124877478db58b27841f9398aed97ef13053 Mon Sep 17 00:00:00 2001
From: chenhaozhe <gaozhechen26@gmail.com>
Date: 星期日, 26 十月 2025 17:19:15 +0800
Subject: [PATCH] Merge branch 'master' of http://101.37.171.70:10101/r/MES-WEB-API
---
WebAPI/Controllers/SCGL/日计划管理/DataHelper.cs | 79 ++++++++++++++++++++++++++++++++++++++-
1 files changed, 77 insertions(+), 2 deletions(-)
diff --git "a/WebAPI/Controllers/SCGL/\346\227\245\350\256\241\345\210\222\347\256\241\347\220\206/DataHelper.cs" "b/WebAPI/Controllers/SCGL/\346\227\245\350\256\241\345\210\222\347\256\241\347\220\206/DataHelper.cs"
index b9adbec..ed0e600 100644
--- "a/WebAPI/Controllers/SCGL/\346\227\245\350\256\241\345\210\222\347\256\241\347\220\206/DataHelper.cs"
+++ "b/WebAPI/Controllers/SCGL/\346\227\245\350\256\241\345\210\222\347\256\241\347\220\206/DataHelper.cs"
@@ -1,5 +1,8 @@
-锘縰sing System;
+锘縰sing Newtonsoft.Json;
+using System;
+using System.Collections;
using System.Collections.Generic;
+using System.ComponentModel;
using System.Data;
using System.Linq;
using System.Reflection;
@@ -19,7 +22,7 @@
List<T> list = new List<T>();
if (ds.Tables[0].Rows.Count > 0)
{
- foreach (DataRow row in ds.Tables[0].Rows)
+ foreach (DataRow row in ds.Tables[0].Rows)
{
list.Add(row.Put(new T()));
}
@@ -167,5 +170,77 @@
}
return $"update {table} set {strSet} where 1=1 {condition}";
}
+
+
+
+
+ /// <summary>
+ /// 灏哃ist杞崲鎴怐ataTable
+ /// </summary>
+ /// <typeparam name="T"></typeparam>
+ /// <param name="data"></param>
+ /// <returns></returns>
+ public static DataTable ToDataTable<T>(this IList<T> data)
+ {
+ PropertyDescriptorCollection properties = TypeDescriptor.GetProperties(typeof(T));
+ DataTable dt = new DataTable();
+ for (int i = 0; i < properties.Count; i++)
+ {
+ PropertyDescriptor property = properties[i];
+ dt.Columns.Add(property.Name, property.PropertyType);
+ }
+ object[] values = new object[properties.Count];
+ foreach (T item in data)
+ {
+ for (int i = 0; i < values.Length; i++)
+ {
+ values[i] = properties[i].GetValue(item);
+ }
+ dt.Rows.Add(values);
+ }
+ return dt;
+ }
+
+
+ /// <summary>
+ /// 灏哃ist杞崲涓篋ataTable
+ /// </summary>
+ /// <param name="list">璇锋眰鏁版嵁</param>
+ /// <returns></returns>
+ public static DataTable ListToDataTable<T>(List<T> list)
+ {
+ //鍒涘缓涓�涓悕涓�"tableName"鐨勭┖琛�
+ DataTable dt = new DataTable("tableName");
+
+ //鍒涘缓浼犲叆瀵硅薄鍚嶇О鐨勫垪
+ foreach (var item in list.FirstOrDefault().GetType().GetProperties())
+ {
+ dt.Columns.Add(item.Name);
+ }
+ //寰幆瀛樺偍
+ foreach (var item in list)
+ {
+ //鏂板姞琛�
+ DataRow value = dt.NewRow();
+ //鏍规嵁DataTable涓殑鍊硷紝杩涜瀵瑰簲鐨勮祴鍊�
+ foreach (DataColumn dtColumn in dt.Columns)
+ {
+ int i = dt.Columns.IndexOf(dtColumn);
+ //鍩哄厓鍏冪礌锛岀洿鎺ュ鍒讹紝瀵硅薄绫诲瀷绛夛紝杩涜搴忓垪鍖�
+ if (value.GetType().IsPrimitive)
+ {
+ value[i] = item.GetType().GetProperty(dtColumn.ColumnName).GetValue(item);
+ }
+ else
+ {
+ value[i] = JsonConvert.SerializeObject(item.GetType().GetProperty(dtColumn.ColumnName).GetValue(item));
+ }
+ }
+ dt.Rows.Add(value);
+ }
+ return dt;
+ }
+
}
+
}
--
Gitblit v1.9.1