0
如何將GridView綁定到像下面這樣的類?DataBind通用「動態」類到GridView
public class GenericEntity
{
private readonly Dictionary<string, object> properties = new Dictionary<string, object>();
public object this[string propertyName]
{
get
{
if (properties.ContainsKey(propertyName))
return properties[propertyName];
else
return null;
}
set
{
if (value == null)
properties.Remove(propertyName);
else
properties[propertyName] = value;
}
}
}
這個類可以有任意數量的屬性,也沒有辦法知道任何人在編譯的時候,只在運行時,這是因爲屬性直接映射到從BD的結果集的列。
如何將此GenericEntity類的列表綁定到GridView?我嘗試以下,但我得到的例外「類不包含名稱的屬性......」
var newColumn = new BoundField();
newColumn.HeaderText = resultsetDescription.FieldDisplayName;
newColumn.DataField = resultsetDescription.FieldName;
myGridView.Columns.Add(newColumn);
myGridView.DataSource = GetListOfGenericEntities(args);
myGridView.DataBind();
編輯:
我已經實現這個SO answer但它仍然提到的方法拋出屬性異常...