私は一般的なリストを持っています...私はそれをデータテーブルに変換しようとしています。
以下のコードを使用しています。
private DataTable ToDataTable<T>(List<T> items)
{
var tb = new DataTable(typeof(T).Name);
PropertyInfo[] props = typeof(T).GetProperties(BindingFlags.Public | BindingFlags.Instance);
foreach (PropertyInfo prop in props)
{
Type t = GetCoreType(prop.PropertyType);
tb.Columns.Add(prop.Name, t);
}
foreach (T item in items)
{
var values = new object[props.Length];
for (int i = 0; i < props.Length; i++)
{
values[i] = props[i].GetValue(item, null);
}
tb.Rows.Add(values);
}
return tb;
}
そのデータテーブルに別の列を追加する必要がありますStatusText
。
そのデータテーブルには、。という列がすでにありますStatus
。
この列が0の場合は、StatusText
である必要がありますActive
。1の場合StatusText
は、Inactive
私のコードが現在テーブルの下に戻っているように...
Id Name Status
------------------
1 Test 1
2 Test1 0
3 Test2 0
しかし、どうすれば以下のようなテーブルを生成できますか?
Id Name Status StatusText
------------------------------
1 Test 1 InActive
2 Test1 0 Active
3 Test2 0 Active