#c# #winforms #hierarchy #xtragrid
#c# #winforms #иерархия #xtrag grid
Вопрос:
Я использую DevExpress XTRAG Grid.У меня есть список объектов в качестве источника данных сетки, каждый объект может содержать (или нет) список похожих объектов и так далее. Таким образом, у меня есть своего рода иерархия. Таким образом, сетка для каждого внутреннего списка объектов создает дочернее представление. Когда я добавляю новый объект в datasource и вызываю RefreshDatasource (), сетка полностью сворачивается, и я должен снова перейти по уровням сетки к моей ранее сфокусированной строке.
Есть ли какой-либо способ восстановить сфокусированную строку после обновления источника данных на любой подуровень дочерних представлений?
Комментарии:
1. Вы обращались за помощью на форум поддержки DevExpress? У них масса тем, и я пока смог найти ответы на все свои вопросы, кроме одного. devexpress.com/Support/Center/Question/List/1
Ответ №1:
Я думаю, что эта статья послужит вам хорошим началом для успешного решения вашей задачи 😉 В нем описывается способ сохранения состояния просмотра всех (дочерних) представлений в XTRAG Grid с помощью примера кода.
Это целая куча кода, но вы можете легко скопировать / вставить его, чтобы проверить и протестировать.
Ответ №2:
Здесь вам необходимо сохранить сфокусированную строку перед добавлением / вставкой нового объекта в существующие данные сетки и операцией обновления. После завершения операции обновления данных сетки вы можете установить ранее сфокусированный объект, установив дескриптор сфокусированной строки. Чтобы получить дескриптор текущей строки в случае сетки MasterDetail, вам следует перейти по ссылке ниже: Как получить дескриптор родительской записи / строки в сетке master / detail