DevExpress VerticalGrid в несвязанном режиме с MultiRecordLayout

РЕДАКТИРОВАТЬ: как оказалось, сетка не поддерживает несвязанный режим в макете MultiRecordView.

Я попытаюсь задать этот вопрос по-другому, так как мой последний вопрос был отвергнут без комментариев, поэтому я не знаю, против чего возражал автор.

Я много работал с вертикальной сеткой DevExpress в несвязанном режиме в SingleRecordView. Мы используем его во всех наших настольных приложениях, которые требуют ввода большого количества данных. Все формы ввода данных выглядят одинаково, поэтому обучение пользователей минимально. Я думаю, что это отличный контроль.

Однако я не понимаю, как использовать его в несвязанном режиме в макете MultiRecordView. Я даже не могу понять, как заполнить несвязанную сетку данными для нескольких записей. В макете SingleRecord я использую RowsIterator для перемещения данных из моего объекта данных в памяти в соответствующую строку/ячейку в отдельной записи VerticalGrid.

Но в макете MultiRecordView я не могу понять, как добавить вторую запись, третью запись и т. д. и т. д., и расположить указатель текущей записи так, чтобы RowsIterator работал со строками правильной записи.

Небольшой фрагмент кода, показывающий, как перемещать указатель текущей записи при добавлении второй и последующих записей в MultiRecordView, был бы очень полезен.

Я пробовал AddNewRecord() и устанавливал FocusedRecord, но безуспешно:

for (int i = 0; i < MyTable.Rows.Count; i++)
   {
       vGridControl1.AddNewRecord();                
       vGridControl1.FocusedRecord = i;
       vGridControl1.RowsIterator.DoOperation(new DataPuller(MyTable.Rows[i]));

   }

и вот соответствующий фрагмент из моего объекта DataPuller:

 public override void Execute(DevExpress.XtraVerticalGrid.Rows.BaseRow brow)
{

 //<snip>

 if (brow is DevExpress.XtraVerticalGrid.Rows.EditorRow)
  {
      string fieldname = brow.Properties.FieldName;
      if (table.Columns.Contains(fieldname))
         {
            brow.Properties.Value = (table[fieldname] == DBNull.Value) ? null : table[fieldname];
         }
   }

  //<snip>

 }

person Tim    schedule 08.05.2017    source источник


Ответы (1)


Вертикальная сетка не поддерживает несвязанный режим в макете MultiRecordView.

person Tim    schedule 09.05.2017