Что такое DataGrid MappingName для источника данных без DataTable? - PullRequest
5 голосов
/ 13 мая 2009

Я могу связать свою DataGrid в .NET 3.5 CF со списком (), но не могу отформатировать столбцы, указав их ширину. Ниже приведен код, который выглядит так, как будто он должен работать, но не работает. Я почти уверен, что не правильно устанавливаю MappingName, так как во всех руководствах указывается, что для него должно быть указано имя вашего DataTable, но я не привязываюсь к DataTable, поэтому не уверен, что делать.

            grdBatch.DataSource = InventoryItems;

        DataGridTableStyle tableStyle = new DataGridTableStyle();
        tableStyle.MappingName = InventoryItems.ToString();
        DataGridTextBoxColumn tbcName = new DataGridTextBoxColumn();
        tbcName.Width = 400;
        tbcName.MappingName = "SERIAL_ID";
        tbcName.HeaderText = "SERIAL_ID";
        tableStyle.GridColumnStyles.Add(tbcName);
        grdBatch.TableStyles.Clear();
        grdBatch.TableStyles.Add(tableStyle);

grdBatch - это DataGrid, а InventoryItems - это список POCOS (простых старых объектов C #).

1 Ответ

15 голосов
/ 15 мая 2009

Изменение:

 tableStyle.MappingName = InventoryItems.ToString();

до

tableStyle.MappingName = InventoryItems.GetType().Name;
...