4 Replies Latest reply on Oct 17, 2008 6:06 AM by Newsgroup_User

    How to get the DataGridColumn Value

    premadas
      Hi All,
      I have a problem with DataGridColumn . In that "How to get the DataGridColumn value when the application loads".
      In my code i have three columns.I want to get the first datagridcolum(Name) values(all rows values).
      here i will send my code please refer ...

      <?xml version="1.0"?>
      <!-- DataGrid control example. -->
      <mx:Application xmlns:mx=" http://www.adobe.com/2006/mxml" creationComplete="init()">

      <mx:Script>
      <![CDATA[
      import mx.controls.Alert;
      ]]>
      </mx:Script>
      <mx:XMLList id="employees">
      <employee>
      <name>Christina Coenraets</name>
      <phone>555-219-2270</phone>
      <email>ccoenraets@fictitious.com</email>
      <active>true</active>
      </employee>
      <employee>
      <name>Joanne Wall</name>
      <phone>555-219-2012</phone>
      <email>jwall@fictitious.com</email>
      <active>true</active>
      </employee>
      <employee>
      <name>Maurice Smith</name>
      <phone>555-219-2012</phone>
      <email>maurice@fictitious.com</email>
      <active>false</active>
      </employee>
      <employee>
      <name>Mary Jones</name>
      <phone>555-219-2000</phone>
      <email>mjones@fictitious.com</email>
      <active>true</active>
      </employee>
      </mx:XMLList>

      <mx:Panel title="DataGrid Control Example" height="100%" width="100%"
      paddingTop="10" paddingLeft="10" paddingRight="10">

      <mx:Label width="100%" color="blue"
      text="Select a row in the DataGrid control."/>

      <mx:DataGrid editable="true" id="dg" width="50%" height="60%"
      itemEditEnd="Alert.show('hi')" doubleClickEnabled="true" doubleClick="dg.editable=true" rowCount="5" dataProvider="{employees}">
      <mx:columns>
      <mx:DataGridColumn id="nam" dataField="name" headerText="Name"/>
      <mx:DataGridColumn dataField="phone" headerText="Phone"/>
      <mx:DataGridColumn dataField="email" headerText="Email"/>
      </mx:columns>
      </mx:DataGrid>

      <mx:Form width="100%" height="100%">
      <mx:Text text="Employe Details" fontSize="18"/>
      <mx:FormItem label="Name :">
      <mx:Label text="{dg.selectedItem.name}"/>
      </mx:FormItem>
      <mx:FormItem label="Email :">
      <mx:Label text="{dg.selectedItem.email}"/>
      </mx:FormItem>
      <mx:FormItem label="Phone :">
      <mx:Label text="{dg.selectedItem.phone}"/>
      </mx:FormItem>
      </mx:Form>

      </mx:Panel>
      <mx:Script>
      <![CDATA[

      private function init():void{
      var name:String=nam.dataField;
      Alert.show("values: "+name);
      }
      ]]>
      </mx:Script>

      </mx:Application>


      Thanks in Advance,
      Premdas.


        • 1. Re: How to get the DataGridColumn Value
          Gregory Lafrance Level 6
          This code may help:
          • 2. Re: How to get the DataGridColumn Value
            ntsiii Level 3
            The key idea in Greg's post is that whenever you are dealing with the data, *always* use the dataProvider(item, property), and never try to go through the visual control (row, column)

            Tracy
            • 3. Re: How to get the DataGridColumn Value
              happybrowndog
              quote:

              Originally posted by: ntsiii
              The key idea in Greg's post is that whenever you are dealing with the data, *always* use the dataProvider(item, property), and never try to go through the visual control (row, column)

              Tracy


              That wouldn't work if the datagrid has sortable columns. Even if you tracked what row was clicked by trapping an event, the row number would no longer correspond to the data if the column was sorted.... so going through the dataprovider fails. We need a way to go through the visual control to get at the data.... and frankly I've been trying to figure that out and it's far more difficult than it ought to be. Care to give us a solution?

              • 4. Re: How to get the DataGridColumn Value
                Level 7

                "happybrowndog" <webforumsuser@macromedia.com> wrote in message
                news:gd98j7$see$1@forums.macromedia.com...
                >
                quote:

                Originally posted by: ntsiii
                > The key idea in Greg's post is that whenever you are dealing with the
                > data,
                > *always* use the dataProvider(item, property), and never try to go through
                > the
                > visual control (row, column)
                >
                > Tracy

                >
                > That wouldn't work if the datagrid has sortable columns. Even if you
                > tracked
                > what row was clicked by trapping an event, the row number would no longer
                > correspond to the data if the column was sorted.... so going through the
                > dataprovider fails. We need a way to go through the visual control to get
                > at
                > the data.... and frankly I've been trying to figure that out and it's far
                > more
                > difficult than it ought to be. Care to give us a solution?

                The itemClicked event gives you access to the actual *data* that was
                clicked. I'm not sure why you'd need to know its row number. Please also
                note that when a user sorts the dg, the dataProvider of the dg will reflect
                the sort.