Как установить источник данных Datagrid в EntityCollection в Silverlight?
Я работаю над проектом Silverlight для CRM 2011. У меня есть EntityCollection, полученная в результате выражения QueryExpression, и мне нужно отобразить эти объекты в сетке данных.
Я проверил несколько решений онлайн, но ни одно не работает.
Буду признателен за вашу помощь.
2 ответа
Проверьте это один раз. Это будет работать
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 и связать их с сеткой данных. Другой подход заключается в использовании OData, получении данных через него и привязке этой коллекции к сетке данных.