我使用反射遍歷屬性列表,併爲該表格單元賦值。我正在循環的類屬性被分配到錯誤的列(標題)。C#根據另一個列表字符串對類屬性進行排序
如何根據標題列表對dataList屬性名稱進行排序?他們都被命名爲相同。我寧願這樣做比根據屬性對頭部列表進行排序。
dataList類型將始終是一個具有屬性的類。
public void SetTableStrong<T>(List<T> dataList, List<string> header)
{
// Define our columns
Column c = null;
foreach (var item in header)
{
c = table.addTextColumn(item);
c.horAlignment = Column.HorAlignment.CENTER;
}
// Initialize Your Table
table.initialize();
table.data.Clear();
foreach (var item in dataList.Select((value, index) => new { value, index }))
{
Datum d = Datum.Body(item.index.ToString());
//Property set to wrong header because they are not sorted to the same as headers.
foreach (var property in item.value.GetType().GetProperties())
{
var value = property.GetValue(item.value, null);
if (value == null)
continue;
d.elements.Add(value.ToString());
}
table.data.Add(d);
}
// Draw Your Table
table.startRenderEngine();
}
我在想你正在使用哪個'table'包? – Fattie
@JoeBlow https://www.assetstore.unity3d.com/en/#!/content/42831 Unity3D的表格專業版 –
謝謝!我們建立了自己的一次......:/ – Fattie