2016-12-17 17 views
0

Я пытаюсь создать отчет с таблицей и привязать ее к списку строк (около 10000 элементов).Как я могу привязать таблицу отчетов devexpress к списку строк?

Я попытался создать строку во время выполнения, но это очень медленно:

String[] ids = GetIds(); 
DetailTable.BeginInit(); 
foreach (String id in ids) 
{ 
    XRTableRow newRow = new XRTableRow(); 
    XRTableCell newCell = new XRTableCell(); 
    newCell.Text = id; 
    newRow.Cells.Add(newCell); 
    DetailTable.Rows.Add(newRow); 
} 
DetailTable.EndInit(); 

Также я попытался связать ячейку, но в докладе я могу видеть только первую строку:

var ids = GetIds().Select(id => new {Id = id}); 
this.DataSource = ids; 
IdCell.DataBindings.Add(new XRBinding("Text", DataSource, "Id")); 

Как Я могу заполнить свой стол?

+0

Вы используете приведенный выше код? Он даже не компилируется. 'ids' type string, а затем вы зацикливаете его, а 'id' - строка? Невозможно. – CodingYoshi

ответ

0

Хотелось бы также просмотреть ваш дизайн отчета. Я делаю это следующим образом (на режиме конструктора):

  1. Положите одну xrTable к DetailReport - это будет заголовок таблицы, только фиксированные тексты, возможно некоторое форматирование (фон, шрифт и т.д .. .), Я предполагаю, что ваш стол будет иметь только один столбец.
  2. вставить другой DetailReport (внутри первой, щелкнув правой кнопкой мыши на его имени и выбрав Вставка Подробный отчет)
  3. внутри этой второй поставить еще один xrTable того же размера, и число столбцов (там вы поставить данные)
  4. нажмите на смарт-тег этого второго DetailReport, добавьте источник данных (модель, где находится ваш список) и укажите DataMember в свой элемент списка.
  5. Я не знаю, отобразит ли он себя в строковых значениях вашего списка. Возможно, нет, поэтому я бы изменил ваш List [[string]] , например. Список [[MyOneColumnClass]] , где MyOneColumnClass - это просто класс с только одной открытой строкой Value {get; set;} Затем вы укажете DataMember в поле [Значение] (просто введите слово в скобках в текст xrTableCell.