我想知道是否有方法在foreach循環內的DataTable中自動添加列?這就是我的意思是「自動」。將列添加到循環內的DataTable中
我腦子裏想的是這樣的:
DataTable dt = new DataTable();
foreach (var item in model.Statistik)
{
dt.Columns.Add();
row = dt.NewRow();
row[//Name of column goes here] = // either item or item.property;
dt.Rows.Add(row);
}
這是更有效的比以前的每個循環顯式指定每一列。因爲,如果某些屬性發生更改或被刪除等情況會發生什麼?因此,這是我希望擺脫的東西。
Wat避免使用'row [「ColumnName」] = value'?你不知道'item'的屬性?它是什麼類型,你可以展示它嗎? –
我知道我的ViewModel的屬性,但我想簡化它很多。想想我是否與很多物業合作,因此它效率不高?我想到了每個屬性的DisplayName屬性,然後將其添加到循環代碼中的列中,以便它與循環中下一行的項目匹配。所以,如果我的虛擬機中有一個字符串類型的屬性,那麼該列將接收該項目的屬性名稱,以便將其添加到列中。因爲,我認爲你需要添加一個匹配項目記錄的列。 – kryman
這是我想到的: dt.Columns.Add(屬性名稱的prop。去這裏); row = dt.NewRow(); row [attr。道具名稱。去這裏] = //任何項目或item.property; 以這種方式,我不需要每次指定循環外的新列,也不需要在行中指定列的名稱。 – kryman