Почему мой UltraGridRow ListObject имеет значение null после загрузки сериализованного DisplayLayout
Я использую Infragistics UltraGrid в своем приложении WinForms. Infragistics v13.1
,
Недавно я добавил код для сохранения макетов сетки в двоичном сериализованном формате и загрузки их обратно, используя CopyFrom
метод на DisplayLayout
объект.
Пока я загружаю один из этих сохраненных макетов, сетка изменяется соответствующим образом, и данные по-прежнему корректно отображаются в сетке, но каждый раз, когда я запрашиваю ListObject
подряд возвращается ноль. Источником данных для сетки является BindingSource
чья DataSource
это BindingList
(эти данные не изменяются при загрузке макета).
Сохранить:
Dim MS As New IO.MemoryStream()
ugl.Save(MS, Infragistics.Win.UltraWinGrid.PropertyCategories.All)
Return MS.ToArray()
Нагрузка:
Private Function ConvertToUltraGridLayout(data As Byte()) As UltraGridLayout
Dim ugl As New UltraGridLayout()
Dim MS As New IO.MemoryStream(data)
MS.Seek(0, IO.SeekOrigin.Begin)
ugl.Load(MS, Infragistics.Win.UltraWinGrid.PropertyCategories.All)
Return ugl
End Function
dgrServices.DisplayLayout.CopyFrom(ConvertToUltraGridLayout(lOption.Layout))
Что мне нужно сделать, чтобы получить ListObject
быть ненулевым?
Спасибо!
1 ответ
Код, который я использовал для получения строки ListObject, был dgrServices.Rows
, Причина DisplayLayout
У меня есть загрузка, к которой применена группа. Это приводит к изменению иерархии строк, чтобы можно было размещать строки заголовков специальной группы. Эти, правильно, не имеют ListObject
,
Теперь мне просто нужно найти самый простой способ получить строки данных в сетке и пропустить эти специальные группы по строкам заголовка.