2008-11-07 1 views

ответ

6

Вы можете установить каждую строку набора данных в соответствии с содержимым конкретного столбца этой строки, установив атрибут «variableRowHeight» в true в datagrid и установив атрибут «wordWrap» в true на dataGridColumn, который будет содержать переменное значение высоты.

5

Я не совсем понимаю ваш вопрос, но если вы спрашиваете, как размер в DataGrid к числу строк в DataProvider, вы можете попробовать:

dataGrid.rowCount = yourCollection.length; 

или

<mx:DataGrid rowCount="{yourCollection.length}"/> 
1

Крайне странная проблема, с которой я столкнулся в Flex, - это просто сделать список и размер DataGrids их содержимым (не показывать полосу прокрутки или любые пустые строки). Я бы подумал, что это будет совершенно прямолинейно даже с переменной высотой строки. Кажется, у кого-то еще есть эта проблема ?!

<mx:DataGrid rowCount="{yourCollection.length}"/> 

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

+0

У меня такая же проблема. Очень раздражающая ошибка. Я использую выражение привязки на rowCount, и ничего не происходит. Я все еще получаю дополнительный ряд. – Laxmidi 2010-07-30 14:15:06

4

У меня такая же проблема, используя Flex SDK 3.3. За эти годы я видел несколько отчетов об ошибках Adobe, но контролеры ошибок всегда говорят, что они решены. Лучшее, что я могу предположить, чтобы установить явную высоту пиксела на сетке, или вы можете попробовать это:

dg.height = dg.measureHeightOfItems(0, dgDataProvider.length) + dg.headerHeight; 

Bart

+0

Отлично работает! спасибо – ggkmath 2013-06-07 12:37:55

0

Спасибо Brat за ваш ответ, который работал для меня (в некотором смысле). Существует лишь небольшой модификации, когда мы вычислим высоту, используя выше расчета появляется вертикальная полоса прокрутки, мы также должны установить verticalScrollPolicy = "off" так, что он никогда не показывает

0

Конечно, избежать в вашем DataGrid MXML что-то вроде высота =» 100%»или сверху =„10“донные =„123“

3

Спасибо за тех, которые говорят:

<mx:DataGrid rowCount="{yourCollection.length}"/> 

- это на самом деле работает для меня в Flex 4. Однако я хотел бы отметить, что в соответствии к документации «rowCount включает строку заголовка», поэтому я предполагаю, что ответ должен быть

<mx:DataGrid rowCount="{yourCollection.length + 1}"/> 

Тем не менее, я думаю, что doco неправильно, потому что прежнее решение работает для меня.

В противном случае это поможет? http://www.actionscript.org/forums/showthread.php3?t=220962

+0

Кажется, что исправлена ​​ошибка, чтобы отразить то, что она говорит в документации в flex 4.5 =) – PicoCreator 2011-07-25 23:37:50

1
var rwcnt = xmllist.length();// dataprovider.length 

ADG.rowHeight = 20; 

var rht = ADG.rowHeight; 

ADG.height = (rwcnt * rht) + 26; 

это то, что я получил решение для управления размером расширенного DataGrid

1

В Спарке DataGrid можно установить requestedRowCount к dataProviderLength, НО при условии, вы не установили Рост для Datagrid.

Кроме того, для dataProvider, длина которого меньше 3, всегда будет отображаться 3 строки.

Примечание. Также Spark предлагает запроситьMaxRowCount & запрошенMinRowCount.

+0

Также переменнаяRowHeight = "false". – ggkmath 2013-06-08 14:25:58

Смежные вопросы