<s:GridColumn>
tag inherits all of the tag
attributes of its superclass and adds the following tag attributes:
<s:GridColumn Properties dataField="null" dataTipField="null" dataTipFormatter="null" dataTipFunction="null" editable="true" formatter="null" headerRenderer="null" headerText="value of dataField" imeMode="null" itemEditor="null" itemRenderer="null" itemRendererFunction="null" labelFunction="null" maxWidth="NaN" minWidth="20" rendererIsEditable="false" resizeable="true" showDataTips="undefined" sortable="true" sortCompareFunction="null" sortDescending="false" visible="true" width="NaN" />]]>
Этот метод использует значения
Если значение
Если свойства
Если для
item[dataField].toString()
Если форматтер был указан, то значение этого метода:
formatter.format(item[dataField])
Если
Если
Это значение данного свойства не обязательно является строкой, отображаемой в заголовке столбца. Это свойство используется только для получения доступа к данным в поставщике данных. Дополнительную информацию см. в описании свойства
Если в столбце или его сетке указано свойство
Если в столбце или его сетке указано значение для свойства
Если
Если для
Например, существует поставщик данных, содержащий поля lastName и firstName, но в качестве всплывающей подсказки требуется отображение полных имен. Для свойства
Для функции
dataTipFunction(item:Object, column:GridColumn):StringПараметр
Типичная функция может связывать свойства firstName и lastName элемента или выполнять пользовательское форматирование в свойстве со значением Date.
Если
Редактор элементов по умолчанию представлен классом DefaultGridItemEditor, с помощью которого редактируется поле обычного текста. Для создания пользовательских средств визуализации элементов используются подклассы класса GridItemEditor. Пользовательский редактор элементов может записывать данные во всей строке сетки, чтобы определить расширенный редактор.
Функция, указанная для свойства
itemRendererFunction(item:Object, column:GridColumn):IFactory
Параметр
Ниже приведен пример функции редактора элементов:
function myItemRendererFunction(item:Object, column:GridColumn):IFactory { return (item is Array) ? myArrayItemRenderer : myItemRenderer; }
Средством визуализации элементов по умолчанию является класс DefaultGridItemRenderer, отображающий элемент данных в виде текста. Для создания пользовательских средств визуализации элементов используются подклассы класса GridItemRenderer. Пользовательское средство визуализации элементов может выполнять доступ к данным из всей строки сетки, чтобы определить расширенное визуальное представление сетки.
Значением по умолчанию является значение свойства
Функция label используется для объединения значений различных поставщиков данных в одной строке. Если указано, то это свойство используется методом
Функция, указанная для свойства
labelFunction(item:Object, column:GridColumn):String
Параметр
Типичная функция label может связывать свойства firstName и lastName элемента поставщика данных или выполнять пользовательское форматирование в свойстве со значением Date.
При установке для этого свойства значения
При установке для этого свойства значения
Если значение этого свойства не указано, то по умолчанию свойство
Подпись sortCompareFunction должна соответствовать следующему:
sortCompareFunction(obj1:Object, obj2:Object, column:GridColumn):int
Функция должна возвратить значение, полученное на основе сравнения объектов:
Функция может использовать параметр столбца для записи общих функций сравнения.
Примечание. Параметры
Если dataProvider не является ICollectionView, то это свойство не действует.
Установка этого свойства не инициирует начало сортировки; устанавливается лишь направление сортировки. Сортировка выполняется при вызове метода
Если поставщик данных не является ICollectionView, то это свойство не оказывает влияния.
Если определено свойство
Если свойство
Если свойства
Если поставщик данных не является ICollectionView, то это свойство не оказывает влияния.
Это необязательный интерфейс для всех визуальных элементов, созданных в фабрике, кроме элементов itemRenderer:
public function prepareGridVisualElement(grid:Grid, rowIndex:int, columnIndex:int):void { caretStroke.color = grid.dataGrid.getStyle("caretColor"); }
Параметры
Дополнительные примеры см. в описании DataGridSkin.mxml. Обратите внимание, что визуальные элементы пользовательской темы оформления DataGrid могут не использовать этот интерфейс, если дополнительные возможности не требуются.
Если визуальный элемент создан с использованием компонента темы оформления DataGrid на основе значений фабрики, например selectionIndicator или hoverIndicator, то
Вместо использования DefaultGridItemEditor можно создать пользовательский редактор элементов. Редактор элементов должен обеспечивать реализацию интерфейса spark.components.gridClasses.IGridItemEditor. Обычно для создания редактора элементов используются подклассы класса spark.components.gridClasses.GridItemEditor.
Использование констант в ActionsScript проиллюстрировано в следующем примере:
myDG.selectionMode = GridSelectionMode.MULTIPLE_CELLS;
Использование значения String констант в MXML проиллюстрировано в следующем примере:
<s:DataGrid id="myGrid" width="350" height="150" selectionMode="multipleCells"> ... </s:DataGrid>
Средства визуализации элементов связаны с каждым столбцом сетки. Средство визуализации элементов устанавливается для столбца с помощью свойства
По умолчанию средство визуализации элементов не усекается в соответствии с границами ячейки. Если средство визуализации выходит за границы ячейки, установите для
Переходы в средствах визуализации элементов DataGrid не поддерживаются. В классе GridItemRenderer выключено свойство
Рекомендации по повышению производительности
Производительность прокрутки и запуска DataGrid непосредственно зависит от сложности средства визуализации элементов и количества таких средств, отображаемых в средстве прокрутки DataGrid. Поскольку пользовательские экземпляры GridItemRenderer постоянно используются, очень важно сделать их определения как можно более простыми и эффективными.
Если действия средства визуализации ограничены отображением одной или нескольких строк текста, разработчикам следует обратить внимание на класс DefaultItemRenderer, который выполняет эти действия более продуктивно. Использование класса UITextFieldGridItemRenderer вместо развертываемого в Windows приложения позволяет повысить производительность работы. Наиболее эффективным способом использования GridItemRenderer для отображения dataField элемента GridColumn в виде текста является присвоение элементу отображения текста GridItemRenderer значения
Если средство визуализации элементов содержит несколько визуальных элементов, свойства которых зависят от его данных, для определения значений этих свойств можно использовать привязку данных. Этот подход возвращает удобный для чтения и использования код MXML, производительность которого может быть достаточно высокой при условии ограничения количества видимых средств визуализации элементов (см. свойства
Элементы GridItemRenderer должны быть максимально простыми. Для достижения максимальной производительности необходимо минимизировать количество компонентов и уменьшить глубину иерархии. Если допустимо, для определения макета вместо ограничений следует использовать явные позиции и размеры. Высокая производительность DataGrid обеспечивается значением по умолчанию
Описанные здесь примеры различных конфигураций GridItemRenderer доступны в разделе примеров.
Этот метод не предназначен для прямого вызова. Он вызывается реализацией DataGrid.
Подкласс GridItemRenderer должен перезаписать этот метод, чтобы возвратить значение, если заданное поведение отличается от поведения по умолчанию.
Тремя основными состояниями в Flex 4.0 были "normal", "hovered" и "selected". В Flex 4.5 добавлены состояния "down" и "downAndSelected".
Ниже представлен полный набор поддерживаемых состояний (в порядке приоретности):
Этот метод можно использовать для настройки всех визуальных элементов и свойств средства визуализации. Использование этого метода может быть более эффективным, чем привязка свойств
Метод
Этот метод не предназначен для прямого вызова. Он вызывается реализацией DataGrid.
Средства визуализации элементов могут изменить определение этого свойства, чтобы получить доступ к данным во всей строке сетки.
В отличие от средства визуализации элементов списка, средство визуализации элементов сетки не отвечает монопольно за отображение индикатора down. Сетка визуализирует индикатор down для выделенной строки или ячейки. Визуальные свойства средства визуализации элементов могут изменяться при нажатии.
В отличие от средства визуализации элементов списка, средства визуализации элементов сетки не отвечают монопольно за отображение того, что на средство визуализации элементов или строку, к которой оно принадлежит, наведен курсор мыши. Сетка автоматически отображает компонент темы оформления hoverIndicator для строки или ячейки, на которую наведен курсор мыши. Свойства средств визуализации элементов сетки могут изменяться, если на них наведен курсор мыши.
В отличие от средства визуализации списка, средства визуализации элементов сетки не отвечают монопольно за отображение того, что они являются частью выбранной области. Сетка автоматически отображает компонент темы оформления selectionIndicator для выбранных строк или ячеек. Средство визуализации элементов может также изменить свои визуальные свойства для выражения того, что оно является компонентом выбора.
В отличие от средства визуализации элементов списка, средства визуализации элементов сетки не отвечают монопольно за отображение того, что их соответствующие ячейки или строки содержат символ вставки. Сетка автоматически отображает компонент темы оформления caretIndicator для строки или ячейки, содержащей символ вставки. Средство визуализации элементов также может изменить свои визуальные свойства для выражения того, что оно содержит символ вставки.
Все свойства редактора элементов устанавливаются владельцем в начале сеанса редактирования. Свойство
После закрытия редактора можно сохранить или отменить введенные значения. Если значения необходимо сохранить, редактор вызывает функцию
Не вызывайте этот метод напрямую. Он должен вызываться только элементом управления, в котором содержится редактор элементов.
Не вызывайте этот метод напрямую. Он должен вызываться только элементом управления, в котором содержится редактор элементов.
Не вызывайте этот метод напрямую. Он должен вызываться только элементом управления, в котором содержится редактор элементов. Для сохранения и выхода из редактора вызовите метод
<s:GridItemEditor>
tag inherits all of the tag
attributes of its superclass and adds the following tag attributes:
<s:GridItemEditor Properties column="null" data="null" imeMode="null" itemRenderer="null" rowIndex="0" value="null" />]]>
Редакторы элементов связаны с каждым столбцом сетки. Редактор элементов устанавливается для столбца с помощью свойства
Не вызывайте этот метод напрямую. Он должен вызываться только элементом управления, в котором содержится редактор элементов.
Не вызывайте этот метод напрямую. Он должен вызываться только элементом управления, в котором содержится редактор элементов.
Не вызывайте этот метод напрямую. Он должен вызываться только элементом управления, в котором содержится редактор элементов. Для сохранения и выхода из редактора вызовите метод
Класс flash.system.IMEConversionMode определяет константы для допустимых значений этого свойства. Можно также указать значение
По умолчанию метод
Многие пользовательские средства визуализации элементов изменяют методы получателя и установщика этого свойства. При изменении метода установщика инициализируется редактор на основе значения ячейки. При изменении метода получателя возвращается новое значение ячейки в метод
Все свойства средства визуализации элементов устанавливаются во время выполнения метода
Если средство визуализации элементов больше не требуется, так как оно будет добавлено к внутреннему свободному списку многократно используемых средств визуализации или больше не будет использоваться, вызывается метод
Этот метод не предназначен для прямого вызова. Он вызывается реализацией DataGrid.
Этот метод можно использовать для настройки всех визуальных элементов и свойств средства визуализации. Использование этого метода может быть более эффективным, чем привязка свойств
Метод
Этот метод не предназначен для прямого вызова. Он вызывается реализацией DataGrid.
В отличие от средства визуализации элементов списка, средство визуализации элементов сетки не отвечает монопольно за отображение индикатора down. Сетка визуализирует индикатор down для выделенной строки или ячейки. Визуальные свойства средства визуализации элементов могут изменяться при нажатии.
В отличие от средства визуализации элементов списка, средства визуализации элементов сетки не отвечают монопольно за отображение того, что на средство визуализации элементов или строку, к которой оно принадлежит, наведен курсор мыши. Сетка автоматически отображает компонент темы оформления hoverIndicator для строки или ячейки, на которую наведен курсор мыши. Свойства средств визуализации элементов сетки могут изменяться, если на них наведен курсор мыши.
Класс GridItemRenderer автоматически копирует значение этого свойства в свойство
В отличие от средства визуализации списка, средства визуализации элементов сетки не отвечают монопольно за отображение того, что они являются частью выбранной области. Сетка автоматически отображает компонент темы оформления selectionIndicator для выбранных строк или ячеек. Средство визуализации элементов может также изменить свои визуальные свойства для выражения того, что оно является компонентом выбора.
В отличие от средства визуализации элементов списка, средства визуализации элементов сетки не отвечают монопольно за отображение того, что их соответствующие ячейки или строки содержат символ вставки. Сетка автоматически отображает компонент темы оформления caretIndicator для строки или ячейки, содержащей символ вставки. Средство визуализации элементов также может изменить свои визуальные свойства для выражения того, что оно содержит символ вставки.
Ниже представлен пример того, как GridColumn использует ComboBoxGridItemEditor в качестве редактора элементов:
<s:GridColumn dataField="quant" headerText="Qty"> <s:itemEditor> <fx:Component> <s:ComboBoxGridItemEditor> <s:dataProvider> <s:ArrayList> <fx:int>0</fx:int> <fx:int>1</fx:int> <fx:int>2</fx:int> <fx:int>3</fx:int> </s:ArrayList> </s:dataProvider> </s:ComboBoxGridItemEditor> </fx:Component> </s:itemEditor> </s:GridColumn>