Я пробовал Infragistics, но они, похоже, не понимают, о чем я спрашиваю, и чтобы получить ответ, нужны дни, поэтому, пожалуйста, помогите!
Мне нужно разместить сетку Infragistics в ячейке div или таблицы. Размер сетки должен соответствовать размеру div или ячейки. Если данных для отображения слишком много, мне нужно, чтобы сетка творила чудеса и добавляла собственные полосы прокрутки.
До сих пор я достиг этого, используя javascript и изменяя размер каждый раз, когда изменяется размер окна браузера. К сожалению, при обновлении страницы (с использованием AJAX) сетки меняют свои размеры до размеров по умолчанию на секунду перед исправлением, но это неприемлемо для клиента (или меня, если на то пошло).
Раздражает, что ширина = 100% работает, а высота = 100% - нет. Я обнаружил, что он просто выходит за пределы div или таблицы (даже не изменяя размер div, а просто расширяясь за его пределы).
Я пробовал статью в базе знаний, которая устанавливает высоту и ширину на 100%, а пользовательские правила фрейма - на table-layout: auto, но это не работает.
Я создал тестовый проект с таблицей высотой 500 пикселей, двумя строками (каждая 50% высоты) и двумя ячейками в строке, чтобы получить сетку 2 x 2. Если я установлю высоту сетки Infragistics на 100% внутри ячейки, она будет идеально соответствовать, пока вы не привяжете ее к данным. Затем он расширяется, делая таблицу более 500 пикселей в высоту.
Я попытался поместить 100% x 100% div в одну из ячеек и сетку в этом. Тогда таблица останется правильного размера, но сетка вырастет в высоту на размер строки и выйдет за пределы div и ячейки :-(
Я начинаю задаваться вопросом, настолько ли хороши веб-элементы управления Infragistics, какими они должны быть. Они, конечно, не так хороши, как версии для Windows.
Мне нужно, чтобы сетка изменяла размер автоматически, поэтому конкретная высота не подходит. Даже в этом случае, когда вы устанавливаете определенную высоту, сетка все равно не учитывает ее.





Вы пробовали указать только ширину = 100% и полностью оставить указание высоты вне сетки?
Еще одна мысль - разместить сетку на панели asp.net и поместить панель в ячейку div или таблицы.
Я пробовал это. Когда данные сетки меньше (меньше строк), чем div / ячейка, в которой они находятся, горизонтальная полоса прокрутки сетки кажется вверху страницы. Кроме того, если строк слишком много, они выходят за пределы div / ячейки.
Я наткнулся на эту КБ из Infragistics, в которой говорится о динамическом изменении размера строки. Он вызывает InitializeLayout с помощью javascript. Вы можете использовать ту же технику, чтобы соответствующим образом изменить размер сетки. devcenter.infragistics.com/Support/…
У меня была похожая проблема с сетками ComponentArt, и если я вас понимаю, возможно, это поможет.
Что мне нужно было сделать, так это ограничить высоту сетки, поместив ее в свой собственный Div, у которого была возможность прокрутки переполнения. Итак, у меня было это:
Ни в коем случае не указывайте высоту на сетке.
Думаю, вам нужно установить определенную высоту для вашего div.
<table style = "height:500px">
<tr>
<td>Cell 1</td>
<td>Cell 2</td>
</tr>
<tr>
<td>
<div style = "height:400px;overflow-y:scrollable"> <ingragists...>
</div>
</td>
<td>Cell 3</td>
</tr>
</table>
К сожалению, это тоже не работает. В элементе управления Infragistics сетка оказывается абсолютно позиционированной и не прокручивается внутри div. Даже если бы это было так, заголовки столбцов были бы скрыты, что было бы неприемлемо для клиента.
Ха, хорошо держать заголовки сетки - это совсем другое дело. Мне удалось заставить мои CA-сетки жить внутри прокручиваемого div с фиксированной высотой, и если вы посмотрите мой трекер проблем, вы найдете там один, чтобы сохранить фиксированные заголовки столбцов.
Вы пробовали это в пустом проекте без каких-либо пользовательских элементов управления, мастер-страниц и наследования? Если для этого нет никаких свойств, я думаю, вы можете выполнить эту работу с помощью условного кода.
В конце концов я решил эту проблему, удалив doctype со страницы ASP.NET. Кажется, что способ разметки сетки не работает должным образом с IE в стандартном режиме. Похоже, в основном проблема IE.
Infragistics сообщили, что они работают над новой сеткой, в которой нет этих проблем, но, к сожалению, она еще не обладает гибкостью стандартной сетки.
Установите для своего div определенную высоту, а не% с параметром overflow-y для прокрутки.