Инфраструктурная сетка: перекрытие строк

Я использую Infragistics ultrawingrid v16.1 в приложении Windows. Ниже приведены свойства сетки в стиле строки. каждая ячейка в строке содержит от 3 до 4 строк данных. Но показывает только первую строку. На снимке экрана ниже данные первой строки перекрываются. Я ожидаю данные, показанные во второй строке. Пожалуйста, дайте мне знать, как показать все данные ячейки. Заранее спасибо.

this.grd1.DisplayLayout.Override.RowSelectors = Infragistics.Win.DefaultableBoolean.False;
this.grd1.DisplayLayout.Override.RowSizing = Infragistics.Win.UltraWinGrid.RowSizing.AutoFree;
this.grd1.DisplayLayout.Override.RowSizingArea = Infragistics.Win.UltraWinGrid.RowSizingArea.EntireRow;
this.grd1.DisplayLayout.Override.RowSizingAutoMaxLines = 5;

введите здесь описание изображения


person RajVish    schedule 26.12.2017    source источник


Ответы (3)


Вы должны сообщить сетке, что ячейки являются многострочными ячейками. Для этого установите CellMultiLine в истину вот так:

this.grd1.DisplayLayout.Override.CellMultiLine = Infragistics.Win.DefaultableBoolean.True;

Вот пример в онлайн-документации Infragistics об этом свойстве — «Displaying Многострочные ячейки"

person wnvko    schedule 27.12.2017
comment
Я добавил эту строку в импорт «используя Infragistics.Win;» и добавил вашу строку, но все равно не показывает все строки - person RajVish; 27.12.2017
comment
Куда вы добавили весь этот код? Чтобы заставить его работать, попробуйте добавить в обработчик события InitializeLayout. Также вы можете удалить/закомментировать RowSizingAutoMaxLines = 5, чтобы убедиться, что будут показаны все строки в ячейке. - person wnvko; 28.12.2017
comment
Вы можете оставить свои настройки как есть и подключиться к событию InitializeLayout (как сказал wnvko), дважды щелкнув UltraGrid во время разработки и используя там EventArgs, чтобы установить для CellMultiLine значение True, например: private void ultraGrid1_InitializeLayout (отправитель объекта , Infragistics.Win.UltraWinGrid.InitializeLayoutEventArgs e) { e.Layout.Override.CellMultiLine = Infragistics.Win.DefaultableBoolean.True; } - person Danko Valkov; 26.01.2018

Вы можете оставить свои настройки как есть и подключиться к событию InitializeLayout (как сказал wnvko), дважды щелкнув UltraGrid во время разработки и используя там EventArgs, чтобы установить для CellMultiLine значение True, например:

    private void ultraGrid1_InitializeLayout(object sender, Infragistics.Win.UltraWinGrid.InitializeLayoutEventArgs e)
    {
       e.Layout.Override.CellMultiLine = Infragistics.Win.DefaultableBoolean.True;
    }
person Danko Valkov    schedule 26.01.2018

Добавить высоту в строку ниже - это свойство добавить максимальную высоту в строку.

this.grd1.DisplayLayout.Override.MaxRowHeight = 100;

установите необходимую высоту

person programtreasures    schedule 26.12.2017
comment
После добавления вышеуказанной строки я получаю эту ошибку: «UltraGridOverride» не содержит определения для «MaxRowHeight», и не может быть найден метод расширения «MaxRowHeight», принимающий первый аргумент типа «UltraGridOverride». - person RajVish; 26.12.2017
comment
В Override нет свойства MaxRowHeight. Есть DefaultRowHeight, но здесь он не поможет, посмотрите мой комментарий к сообщению выше, чтобы добиться того, что вы ищете, используя свойство CellMultiLine. - person Danko Valkov; 26.01.2018