我正在为CRM 2011开发一个Silverlight项目。我有一个来自QueryExpression的EntityCollection,我需要在数据网格中显示这些实体。
我在网上查了几个解决方案,但都没有。
感谢您的帮助。
答案 0 :(得分:1)
检查一次。它会工作
public DataTable GetDataTable()
{
DataTable dTable = new DataTable();
int iElement = 0;
for (iElement = 0; iElement < ent.Entities[0].Attributes.Count; iElement++)
{
string ColName = ent.Entities[0].Attributes.Keys.ElementAt(iElement);
dTable.Columns.Add(ColName);
}
for (int y = 0; y < ent.Entities.Count - 1; y++)
{
DataRow drow = dTable.NewRow();
for (iElement = 0; iElement < ent.Entities[y].Attributes.Count; iElement++)
{
string ColNam = ent.Entities[y].Attributes.Keys.ElementAt(iElement);
drow[ColNam] = ent.Entities[y].Attributes.Values.ElementAt(iElement);
}
dTable.Rows.Add(drow);
}
return dTable;
}
答案 1 :(得分:0)
我认为最简单的方法是将EntityCollection元素转换为某些类型化对象或DataTable并将其绑定到datagrid。其他方法是使用OData,通过它获取数据并将此集合绑定到datagrid。