Как установить источник данных 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, получении данных через него и привязке этой коллекции к сетке данных.

Другие вопросы по тегам