Handsontable结果修改

parent 1fe426ad
...@@ -99,6 +99,10 @@ public enum DataFormat ...@@ -99,6 +99,10 @@ public enum DataFormat
普通格式, 普通格式,
/// <summary> 小数 </summary> /// <summary> 小数 </summary>
小数, 小数,
/// <summary> 小数 </summary>
小数1,
/// <summary> 整数 </summary>
整数,
/// <summary> 货币 </summary> /// <summary> 货币 </summary>
货币, 货币,
/// <summary> 百分比 </summary> /// <summary> 百分比 </summary>
......
...@@ -6,23 +6,35 @@ ...@@ -6,23 +6,35 @@
namespace Performance.DtoModels namespace Performance.DtoModels
{ {
public class HandsonTable public class HandsonTableBase
{
public HandsonTableBase()
{
ColHeaders = new List<string>();
Columns = new List<HandsonColumn>();
Data = new List<Dictionary<string, object>>();
NestedHeadersArray = new List<List<string>>();
}
public List<string> ColHeaders { get; set; }
public List<Dictionary<string, object>> Data { get; set; }
public List<HandsonColumn> Columns { get; set; }
public List<List<string>> NestedHeadersArray { get; set; }
}
public class HandsonTable : HandsonTableBase
{ {
private IEnumerable<collect_permission> _permissions; private IEnumerable<collect_permission> _permissions;
private List<Dictionary<string, string>> _data;
public HandsonTable(int sheetType, string[] cols, List<collect_permission> permissions) public HandsonTable(int sheetType, string[] cols, List<collect_permission> permissions)
: base()
{ {
_permissions = permissions; _permissions = permissions;
_data = new List<Dictionary<string, string>>();
InitColHeaders(sheetType, cols); InitColHeaders(sheetType, cols);
InitColumns(permissions); InitColumns(permissions);
} }
public string[] ColHeaders { get; private set; }
public List<Dictionary<string, string>> Data => _data;
public HandsonColumn[] Columns { get; private set; }
/// <summary> /// <summary>
/// ///
...@@ -43,7 +55,7 @@ public void SetRowData(IEnumerable<HandsonRowData> datas, bool isTypein) ...@@ -43,7 +55,7 @@ public void SetRowData(IEnumerable<HandsonRowData> datas, bool isTypein)
else if (dic.ContainsKey(item.Name.ToLower()) && _permissions.Any(w => w.HeadName.ToLower() == item.Name.ToLower())) else if (dic.ContainsKey(item.Name.ToLower()) && _permissions.Any(w => w.HeadName.ToLower() == item.Name.ToLower()))
dic[item.Name.ToLower()] = item.Value?.ToString() ?? ""; dic[item.Name.ToLower()] = item.Value?.ToString() ?? "";
} }
_data.Add(dic); Data.Add(dic);
} }
} }
...@@ -68,7 +80,7 @@ private void InitColHeaders(int sheetType, string[] cols) ...@@ -68,7 +80,7 @@ private void InitColHeaders(int sheetType, string[] cols)
if (!_permissions.Any(w => w.HeadName.ToLower() == item && w.Visible == 1)) if (!_permissions.Any(w => w.HeadName.ToLower() == item && w.Visible == 1))
necessitys.Remove(item); necessitys.Remove(item);
} }
ColHeaders = necessitys.ToArray(); ColHeaders = necessitys;
} }
private void InitColumns(List<collect_permission> permissions) private void InitColumns(List<collect_permission> permissions)
...@@ -80,12 +92,12 @@ private void InitColumns(List<collect_permission> permissions) ...@@ -80,12 +92,12 @@ private void InitColumns(List<collect_permission> permissions)
var readnoly = _permissions.FirstOrDefault(f => f.HeadName == item)?.Readnoly == 1; var readnoly = _permissions.FirstOrDefault(f => f.HeadName == item)?.Readnoly == 1;
columns.Add(new HandsonColumn(item.ToLower(), readnoly)); columns.Add(new HandsonColumn(item.ToLower(), readnoly));
} }
Columns = columns.ToArray(); Columns = columns;
} }
private Dictionary<string, string> CreateDataRow(string key, string value) private Dictionary<string, object> CreateDataRow(string key, string value)
{ {
var temp = new Dictionary<string, string>() { { key, value } }; var temp = new Dictionary<string, object>() { { key, value } };
foreach (var item in ColHeaders) foreach (var item in ColHeaders)
{ {
if (!temp.ContainsKey(item)) if (!temp.ContainsKey(item))
...@@ -113,6 +125,16 @@ public HandsonColumn(string data, bool readOnly = false, DataFormat format = Dat ...@@ -113,6 +125,16 @@ public HandsonColumn(string data, bool readOnly = false, DataFormat format = Dat
NumericFormat = new NumericFormat { Pattern = "0,00.00" }; NumericFormat = new NumericFormat { Pattern = "0,00.00" };
break; break;
case DataFormat.小数1:
Type = "numeric";
NumericFormat = new NumericFormat { Pattern = "0,00.0" };
break;
case DataFormat.整数:
Type = "numeric";
NumericFormat = new NumericFormat { Pattern = "0,00" };
break;
case DataFormat.百分比: case DataFormat.百分比:
Type = "numeric"; Type = "numeric";
NumericFormat = new NumericFormat { Pattern = "0,00.00%" }; NumericFormat = new NumericFormat { Pattern = "0,00.00%" };
...@@ -124,7 +146,7 @@ public HandsonColumn(string data, bool readOnly = false, DataFormat format = Dat ...@@ -124,7 +146,7 @@ public HandsonColumn(string data, bool readOnly = false, DataFormat format = Dat
public bool ReadOnly { get; set; } public bool ReadOnly { get; set; }
public string Type { get; set; } public string Type { get; set; }
public string[] Source { get; set; } public string[] Source { get; set; }
public bool Strict { get; set; } = false; public bool Strict { get; set; } = false;
public NumericFormat NumericFormat { get; set; } public NumericFormat NumericFormat { get; set; }
} }
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment