05
Dec
07

Changing the appearance of the locked column separator skin for a DataGrid control in Flex 3

The following example shows how you can set the verticalLockedSeparatorSkin style in MXML and ActionScript to control the appearance of the vertical locked separator skin when setting the lockedColumnCount property on a Flex Datagrid control.

Full code after the jump.

View MXML

<?xml version="1.0" encoding="utf-8"?>
<!-- http://blog.flexexamples.com/2007/12/05/changing-the-appearance-of-the-locked-column-separator-skin-for-a-datagrid-control-in-flex-3/ -->
<mx:Application xmlns:mx="http://www.adobe.com/2006/mxml"
        layout="vertical"
        verticalAlign="middle"
        backgroundColor="white">

    <mx:Script>
        <![CDATA[
            import mx.events.ItemClickEvent;

            [Bindable]
            [Embed(source="assets.swf#BlankBar")]
            private var blankBar:Class;

            [Bindable]
            [Embed(source="assets.swf#RedVBar")]
            private var redVBar:Class;

            [Bindable]
            [Embed(source="assets.swf#GreyVBar")]
            private var greyVBar:Class;

            private function setVLockedSeparatorSkin(skin:Class):void {
                dataGrid.setStyle("verticalLockedSeparatorSkin", skin);
            }

            private function toggleButtonBar_itemClick(evt:ItemClickEvent):void {
                setVLockedSeparatorSkin(evt.item.data);
            }
        ]]>
    </mx:Script>

    <mx:ArrayCollection id="arrColl">
        <mx:source>
            <mx:Array>
                <mx:Object c1="1a" c2="1b" c3="1c" c4="1d" c5="1e" />
                <mx:Object c1="2a" c2="2b" c3="2c" c4="2d" c5="2e" />
                <mx:Object c1="3a" c2="3b" c3="3c" c4="3d" c5="3e" />
                <mx:Object c1="4a" c2="4b" c3="4c" c4="4d" c5="4e" />
                <mx:Object c1="5a" c2="5b" c3="5c" c4="5d" c5="5e" />
                <mx:Object c1="6a" c2="6b" c3="6c" c4="6d" c5="6e" />
                <mx:Object c1="7a" c2="7b" c3="7c" c4="7d" c5="7e" />
                <mx:Object c1="8a" c2="8b" c3="8c" c4="8d" c5="8e" />
                <mx:Object c1="9a" c2="9b" c3="9c" c4="9d" c5="9e" />
            </mx:Array>
        </mx:source>
    </mx:ArrayCollection>

    <mx:Array id="arr">
        <mx:Object label="undefined (default)" data="{undefined}" />
        <mx:Object label="red (0xFF0000)" data="{redVBar}" />
        <mx:Object label="grey (0xCCCCCC)" data="{greyVBar}" />
        <mx:Object label="blank" data="{blankBar}" />
    </mx:Array>

    <mx:ApplicationControlBar dock="true">
        <mx:ToggleButtonBar id="toggleButtonBar"
                dataProvider="{arr}"
                selectedIndex="1"
                itemClick="toggleButtonBar_itemClick(event);" />

        <mx:Spacer width="100%" />

        <mx:CheckBox id="checkBox"
                label="verticalGridLines:"
                labelPlacement="left"
                selected="true" />
    </mx:ApplicationControlBar>

    <mx:DataGrid id="dataGrid"
            dataProvider="{arrColl}"
            horizontalScrollPolicy="on"
            verticalScrollPolicy="on"
            verticalGridLines="{checkBox.selected}"
            verticalLockedSeparatorSkin="{redVBar}"
            width="320"
            rowCount="6"
            lockedColumnCount="1">
        <mx:columns>
            <mx:DataGridColumn dataField="c1" />
            <mx:DataGridColumn dataField="c2" />
            <mx:DataGridColumn dataField="c3" />
            <mx:DataGridColumn dataField="c4" />
            <mx:DataGridColumn dataField="c5" />
        </mx:columns>
    </mx:DataGrid>

</mx:Application>

View source is enabled in the following example.


2 Responses to “Changing the appearance of the locked column separator skin for a DataGrid control in Flex 3”


  1. 1 Vincent Dec 13th, 2007 at 6:02 pm

    I’m running into this problem in Flex 2.

    Is there any workaround to change the separator line skin/color?

    Thx

  2. 2 SivaKishore Mar 9th, 2008 at 6:29 am

    Hi,
    I want lines to be drawn connecting datagrids. when the grids move the lines should always stay connected in any fashion. I went through the spring graph, but that is not my problem. The grids contains some information that should not move unless it is moved by user. Please help me in doing this.

Leave a Reply

This blog is terrible at eating HTML tags. If you plan on posting code/XML, please escape your "<" characters as "&lt;" and your ">" characters as "&gt;".




December 2007
M T W T F S S
« Nov   Jan »
 12
3456789
10111213141516
17181920212223
24252627282930
31  

Badge Farm

  • Firefox 2
  • Powered by Redoable 1.2
  • Feeds burnt by Feedburner
  • Feed