我正在为CRM 2011做一个Silverlight项目。我有一个由 QueryExpression 生成的实体集合,我需要在数据网格中显示这些实体。
我已经在线检查了几种解决方案,但没有一个有效。
我将不胜感激你的帮助。
检查一次。它会工作
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;
}
我相信最简单的方法是将EntityCollection元素转换为一些类型化对象或DataTable并将其绑定到datagrid。另一种方法是使用 OData,通过它获取数据并将此集合绑定到 datagrid。