Cancel edition in a Datagrid Column

What i´m wishing to do is very simple, i just want to cancel an edition in a DataGrid column,
Loosing focus of the textbox confirms the edition, i wanted to place 2 buttons above the edition text box, cancel and confirm, but it seems to be impossible...
any idea?
thanks in advance!!

Yea that seems to work fine for me so in full, with editing features
Custom Comp
<?xml version="1.0" encoding="utf-8"?>
<mx:Canvas xmlns:mx="http://www.adobe.com/2006/mxml" width="182" height="72"  >
<mx:Script>
<![CDATA[
private function handleOk():void {
this.data.someText = textInput.text
override public function set data(value:Object):void {
super.data = value;
textInput.text = data.someText
private function cancel():void {
textInput.text = data.someText;
]]>
</mx:Script>
<mx:TextInput id="textInput" x="10" y="10" />
<mx:Button x="10" y="40" label="Update" click="handleOk()"/>
<mx:Button x="85" y="40" label="Cancel" click="cancel()"/>
</mx:Canvas>
Application
<?xml version="1.0" encoding="utf-8"?>
<mx:Application xmlns:mx="http://www.adobe.com/2006/mxml" layout="absolute" xmlns:local="*">
<mx:Script>
<![CDATA[
import mx.collections.ArrayCollection;
[Bindable]
private var ac:ArrayCollection = new ArrayCollection([
{someText : 'Line 1'},
{someText : 'Line 2'},
{someText : 'Line 3'},
{someText : 'Line 4'},
{someText : 'Line 5'},
{someText : 'Line 6'},
{someText : 'Line 7'},
{someText : 'Line 8'},
{someText : 'Line 9'},
{someText : 'Line 10'}
]]>
</mx:Script>
<mx:DataGrid x="71" y="90" dataProvider="{ac}">
<mx:columns>
<mx:DataGridColumn headerText="Column 1" dataField="someText" itemRenderer="Comp1" width="182"/>
<mx:DataGridColumn headerText="Column 2" dataField="col2"/>
<mx:DataGridColumn headerText="Column 3" dataField="col3"/>
</mx:columns>
</mx:DataGrid>
</mx:Application>
Hope this helps
Andrew

Similar Messages

  • Editable Datagrid Column

    I have to make a datagrid column editable during runtime based on the data. If the column has a specific data then the column should not be editable otherwise it should be editable. Can we do it in flex ? please show some pointers.

    I don't have any examples , but you should probably have a custom itemrenderer for your datagrid which contains a textarea. In the itemrenderer should override set data( value:Object ):void.  In that function you check a condition to see if the textarea "editable" value should be set to true or false.  Below I have some pseudo-code.
    <s:Itemrenderer>
    override public function set data( value:Object ):void
      if( object.decidingValue > 0  )
         TnA.editable = false;
      else
         TnA.editable = true;
    <s:TextArea id="TnA" />
    </s:Itemrenderer>
    or you could just put the code in the TextArea declaration
    <s:TextArea id="TnA" editable="{data.decidingValue > 0}" />
    (TextInput area is probably more appropriate than a textarea , but the logic is the same )
    If this response was helpful please mark it as such.

  • Setting the editable property of a datagrid column dynamically

    Hi,
    Im trying to set the editable property and renderer is editable property for a datagrid column to false on the creation complete event of the datagrid.But It does not work.While visible property works.why doesnt the editable property work.The particular column has a renderer which is a text box.and the editable property is set to false initially.Any Suggestions or ideas on how to achieve this will be of great help.

    Eu tenho vontade de estar devidamente por dentro de tudo isso.

  • Setting datagrid column width according to itemrenderer.

    Hi all,
         This is my first question ever in any forum i have visited, so if you find anything stupid about my way of asking question then Pls ignore.
    I have taken a datagrid and for one of the datagrid column I have an itemrendere which is an HBOX. THe Hbox contains 3 buttons Edit, Update, cancel. At first only Edit button is visible and on click of it, It is removed from the Hbox and 2 other buttons i.e. Update and Cancel are added in the Hbox. what i want is when i add these 2 buttons the size of the datagrid column should get adjusted accordingly.
         I have serached a lot abt this but couldnt find a solution. Please help.
    Happy new year to all.....

    @Pramod :
    (listdata.owner as datagrid) .validateNow();
    // thats wat i did. but not working.
    @John : TypicalItem may work but I am using Flex Builder 3 and i think it does not provide the typicalItem class in it.

  • Validation in datagrid column

    Hi,
    Is there any way to validate datagrid column or cell.
    Please help
    Thanks
    Kumar

    quote:
    Originally posted by:
    peterent
    Follow Tracy's advice, but also handle the itemEditEnd event.
    In that event handler you can find if the data passed validation.
    If it fails you can cancel the edit.
    Look up itemEditEnd in the Flex 2 docs.

  • Dynamic DataGrid columns

    How can I get this example to wok with <mx:HTTPService>
    insead of the inline <mx:XML> ?
    Dynamic DataGrid columns
    Example of how to dynamically create DataGridColumns
    A completely dynamic DataGrid example.
    This example uses the xml from the Flexstore example. It
    examines the first product node and uses that to create the
    definitions for the columns. There is some example logic to change
    the columns properties.
    It then instantiates the GataGrid and its columns array,
    assigns the properties, and then the dataProvider, and then adds
    the dataGrid to the application container.
    The example is fully self-contained, since a portion of the
    catalog.xml file is included in the mxml.
    <?xml version="1.0" encoding="utf-8"?>
    <!-- This example uses the dataProvider to build the
    dataGrid columns dynamically -->
    <mx:Application xmlns:mx="
    http://www.adobe.com/2006/mxml"
    layout="vertical"
    creationComplete="initApp()">
    <mx:Script><![CDATA[
    import mx.controls.dataGridClasses.DataGridColumn;
    import mx.controls.DataGrid;
    import mx.collections.XMLListCollection;
    import mx.controls.Alert;
    [Bindable]
    private var _xlcCatalog:XMLListCollection; //the
    dataProvider for the DG
    //run by creationComplete
    public function initApp():void
    _xlcCatalog = new XMLListCollection(xmlCatalog.product);
    //wrap the XML product nodes in an XMLListCollection
    buildDG(); //creates the dataGrid
    }//initApp
    private function buildDG():void
    var aColumnDef:Array = getColumnDefArray(); //returns a
    noraml array of objects that specify DtaGridColumn properties
    var oColumnDef:Object;
    var dg:DataGrid = new DataGrid; //instantiate a new DataGrid
    var dgc:DataGridColumn;
    var aColumnsNew:Array = dg.columns
    var iTotalDGWidth:int = 0;
    for (var i:int=0;i<aColumnDef.length;i++) { //loop over
    the column definition array
    oColumnDef = aColumnDef
    dgc = new DataGridColumn(); //instantiate a new
    DataGridColumn
    dgc.dataField = oColumnDef.dataField; //start setting the
    properties from the column def array
    dgc.width = oColumnDef.width;
    iTotalDGWidth += dgc.width; //add up the column widths
    dgc.editable = oColumnDef.editable;
    dgc.sortable = oColumnDef.sortable
    dgc.visible = oColumnDef.visible;
    dgc.wordWrap = oColumnDef.wordWrap;
    aColumnsNew.push(dgc) //push the new dataGridColumn onto the
    array
    dg.columns = aColumnsNew; //assign the array back to the
    dtaGrid
    dg.editable = true;
    dg.width = iTotalDGWidth;
    dg.dataProvider = _xlcCatalog; //set the dataProvider
    this.addChild(dg); //add the dataGrid to the application
    }//buildDG
    //uses the first product node to define the columns
    private function getColumnDefArray():Array
    //Alert.show("colcount:" + xmlCatalog.toXMLString());
    var aColumns:Array = new Array();
    var node0:XML = xmlCatalog.product[0]; //get the first
    "product" node
    var xlColumns:XMLList = node0.children(); //get its child
    nodes (columns) as an XMLList
    var xmlColumn:XML
    var oColumnDef:Object;
    for (var i:int=0;i<xlColumns.length();i++) { //loop over
    the xmlList
    xmlColumn = xlColumns;
    oColumnDef = new Object();
    oColumnDef.dataField = xmlColumn.localName(); //make the
    dataField be the node name
    switch (oColumnDef.dataField) { //conditional column
    property logic
    case "name":
    oColumnDef.width = 80;
    oColumnDef.sortable = false;
    oColumnDef.visible = true;
    oColumnDef.editable = false;
    oColumnDef.wordWrap = false;
    break;
    case "description":
    oColumnDef.width = 200;
    oColumnDef.sortable = false;
    oColumnDef.visible = true;
    oColumnDef.editable = false;
    oColumnDef.wordWrap = true;
    break;
    case "price":
    oColumnDef.width = 40;
    oColumnDef.sortable = true;
    oColumnDef.visible = true;
    oColumnDef.editable = true;
    oColumnDef.wordWrap = false;
    break;
    case "image":
    oColumnDef.width = 100;
    oColumnDef.sortable = false;
    oColumnDef.visible = false;
    oColumnDef.editable = false;
    oColumnDef.wordWrap = false;
    break;
    default:
    oColumnDef.width = 50;
    oColumnDef.sortable = true;
    oColumnDef.visible = true;
    oColumnDef.editable = false;
    oColumnDef.wordWrap = false;
    break;
    aColumns.push(oColumnDef);
    return aColumns; //return the array
    }//getColumnDefArray
    ]]></mx:Script>
    <mx:XML id="xmlCatalog">
    <catalog>
    <product productId="1">
    <name>Nokia 6010</name>
    <description>Easy to use without sacrificing style,
    the Nokia 6010 phone offers functional voice communication
    supported by text messaging, multimedia messaging, mobile internet,
    games and more</description>
    <price>99.99</price>
    <image>assets/pic/Nokia_6010.gif</image>
    <series>6000</series>
    <triband>false</triband>
    <camera>false</camera>
    <video>false</video>
    <highlight1>MMS</highlight1>
    <highlight2>Large color display</highlight2>
    </product>
    <product productId="2">
    <name>Nokia 3100 Blue</name>
    <description>Light up the night with a
    glow-in-the-dark cover - when it's charged with light you can
    easily find your phone in the dark. When you get a call, the Nokia
    3100 phone flashes in tune with your ringing tone. And when you
    snap on a Nokia Xpress-on™ gaming cover*, you'll get
    luminescent light effects in time to the gaming
    action.</description>
    <price>139</price>
    <image>assets/pic/Nokia_3100_blue.gif</image>
    <series>3000</series>
    <triband>true</triband>
    <camera>false</camera>
    <video>false</video>
    <highlight1>Glow-in-the-dark</highlight1>
    <highlight2>Flashing lights</highlight2>
    </product>
    <product productId="3">
    <name>Nokia 3100 Pink</name>
    <description>Light up the night with a
    glow-in-the-dark cover - when it's charged with light you can
    easily find your phone in the dark. When you get a call, the Nokia
    3100 phone flashes in tune with your ringing tone. And when you
    snap on a Nokia Xpress-on™ gaming cover*, you'll get
    luminescent light effects in time to the gaming
    action.</description>
    <price>139</price>
    <image>assets/pic/Nokia_3100_pink.gif</image>
    <series>3000</series>
    <triband>true</triband>
    <camera>false</camera>
    <video>false</video>
    <highlight1>Glow-in-the-dark</highlight1>
    <highlight2>Flashing lights</highlight2>
    </product>
    <product productId="4">
    <name>Nokia 3120</name>
    <description>Designed for both business and pleasure,
    the elegant Nokia 3120 phone offers a pleasing mix of features.
    Enclosed within its chic, compact body, you will discover the
    benefits of tri-band compatibility, a color screen, MMS, XHTML
    browsing, cheerful screensavers, and much more.</description>
    <price>159.99</price>
    <image>assets/pic/Nokia_3120.gif</image>
    <series>3000</series>
    <triband>true</triband>
    <camera>false</camera>
    <video>false</video>
    <highlight1>Multimedia messaging</highlight1>
    <highlight2>Animated screensavers</highlight2>
    </product>
    <product productId="5">
    <name>Nokia 3220</name>
    <description>The Nokia 3220 phone is a fresh new cut
    on some familiar ideas - animate your MMS messages with cute
    characters, see the music with lights that flash in time with your
    ringing tone, download wallpapers and screensavers with matching
    color schemes for the interface.</description>
    <price>159.99</price>
    <image>assets/pic/Nokia_3220.gif</image>
    <series>3000</series>
    <triband>false</triband>
    <camera>true</camera>
    <video>false</video>
    <highlight1>MIDI tones</highlight1>
    <highlight2>Cut-out covers</highlight2>
    </product>
    </catalog>
    </mx:XML>
    </mx:Application>

    It should work the same way.
    What problem are you having?
    Tracy

  • Datagrid column header word wrap issue

    Hi All,
    I'm passing dynamic text to a datagrid column header. The word wrap is true but it's not working.
    Any ideas how to fix this issue?
    DataGridColumn headerText="{myVar.text} Total" headerWordWrap="true"
    Thanks
    Johnny

    @Johnny,
    Try to make use of the headerRenderer property and use <mx:Text /> control as a renderer so that your headerText gets wrapped..
    Thanks,
    Bhasker
    Message was edited by: BhaskerChari

  • Adding a Tree into a datagrid column

    I have a requirement where I have to create a datagrid with
    one of the columns having a tree control. The problem I am trying
    to resolve is how to dynamically change the height of the datagrid
    column which has the tree when the tree is collapsed and
    dynamically increase the datagrid column height when the tree is
    expanded.
    Is is feasible ? Am I chasing a wild dream ?
    Any help will be greatly appreciated...
    Thanks

    Darin,
    Thank you for responding. I was able to get a tree display in
    a datagrid. I am going to attach all the code.
    The problem I am facing is, I need two clicks to expand a
    tree in the datagrid column so that both the tree to expand and the
    datagrid column to adjust its height. Let me know why this is so.
    May be, being a newbie, I am completely off the track here. Thanks
    in advance.
    THE MXML
    <?xml version="1.0" encoding="utf-8"?>
    <mx:Application xmlns:mx="
    http://www.adobe.com/2006/mxml"
    layout="absolute" xmlns:ns1="com.ram.flash.custom.*">
    <mx:XML id="xmlData" source="myDataWithTree.xml"/>
    <mx:HBox>
    <mx:DataGrid id="dgSource"
    dataProvider="{xmlData.person}" editable="false"
    variableRowHeight="true">
    <mx:columns>
    <mx:Array>
    <mx:DataGridColumn editable="false" sortable="false"
    resizable="true" width="400" textAlign="left" headerText="Id"
    dataField="address">
    <mx:itemRenderer>
    <mx:Component>
    <ns1:PruDataGridTreeColumn
    disclosureOpenIcon="@Embed(source='icn_minus.jpg')"
    disclosureClosedIcon="@Embed(source='icn_plus.jpg')" width="260"
    height="20" />
    </mx:Component>
    </mx:itemRenderer>
    </mx:DataGridColumn>
    <mx:DataGridColumn headerText="Name" dataField="name"
    editable="false"/>
    <mx:DataGridColumn headerText="Age" dataField="age"
    editable="false"/>
    </mx:Array>
    </mx:columns>
    </mx:DataGrid>
    </mx:HBox>
    </mx:Application>
    THE DATA
    <?xml version="1.0" encoding="UTF-8" ?>
    <data>
    <person>
    <name>Mister</name>
    <age>36</age>
    <address>
    <Capitals label="U.S. State Capitals">
    <capital label="AL" value="Montgomery"/>
    <capital label="AK" value="Juneau"/>
    <capital label="AR" value="Little Rock"/>
    <capital label="AZ" value="Phoenix"/>
    <capital label="AL" value="Montgomery"/>
    <capital label="AK" value="Juneau"/>
    <capital label="AR" value="Little Rock"/>
    <capital label="AZ" value="Phoenix"/>
    <capital label="AL" value="Montgomery"/>
    <capital label="AK" value="Juneau"/>
    <capital label="AR" value="Little Rock"/>
    <capital label="AZ" value="Phoenix"/>
    </Capitals>
    </address>
    </person><person>
    <name>Missus</name>
    <age>28</age>
    <address>
    <Capitals label="Indian State Capitals">
    <capital label="AL" value="Montgomery"/>
    <capital label="AK" value="Juneau"/>
    <capital label="AR" value="Little Rock"/>
    <capital label="AZ" value="Phoenix"/>
    </Capitals>
    </address>
    </person>
    </data>
    THE CUSTOM ACTIONSCRIPT CLASS
    package com.ram.flash.custom
    import flash.geom.Rectangle;
    import mx.core.IDataRenderer;
    import mx.controls.listClasses.IListItemRenderer;
    import flash.display.DisplayObjectContainer;
    import flash.events.Event;
    import mx.managers.ISystemManager;
    import mx.controls.Tree;
    import flash.display.Sprite;
    import flash.display.DisplayObject;
    import mx.events.FlexEvent;
    import mx.collections.XMLListCollection;
    import flash.events.MouseEvent;
    import mx.controls.treeClasses.TreeItemRenderer;
    import mx.controls.treeClasses.TreeListData;
    import mx.core.ClassFactory;
    import mx.events.ScrollEvent;
    import mx.controls.DataGrid;
    import mx.events.CollectionEvent;
    import mx.events.CollectionEventKind;
    public class PruDataGridTreeColumn extends Tree implements
    IListItemRenderer, IDataRenderer
    private var _data : Object = null;
    private var _dataGrid:DataGrid = null;
    [Bindable("dataChange")]
    public override function get data():Object
    return _data;
    public function set myDataGrid(value:DataGrid):void
    _dataGrid = value;
    public function PruDataGridTreeColumn()
    super();
    public override function set data(value:Object):void
    this._data = value;
    this.invalidateProperties();
    var xmlDATA:XMLList = new XMLList(_data);
    this.labelField='@label';
    this.dataProvider = xmlDATA.address.Capitals;
    dispatchEvent(new FlexEvent(FlexEvent.DATA_CHANGE));
    override public function expandItem(item:Object,
    open:Boolean, animate:Boolean=false, dispatchEvent:Boolean=false,
    cause:Event=null):void
    animate = true;
    super.expandItem(item,open,animate,dispatchEvent,cause);
    var lc:XML = new XML(item);
    var ht:Number = 20;
    var wt:Number = this.width;
    if(open)
    ht = (lc.children().length() * 20 + 40);
    this.height = (lc.children().length() * 20 + 40);
    else
    ht = 20;
    this.height = 20;
    }

  • Unsort a DataGrid Column

    short version:
    Is there a clever way to "un-sort" a datagrid column so the
    Column and Grid will go back to the original pre-sorted state?--not
    just remove the ability to sort.
    long-winded background:
    I'm using a ComboBox to toggle between report views (which
    are displayed in a DataGrid). I have 2 views: the All View and the
    Grouped View. The trouble I'm having is that once a column in my
    DataGrid gets sorted by a User (which is desirable) in the All
    View, then when the User toggles to the Grouped View the sort is
    still in place for the column (not desirable). Upon toggle (via
    ComboBox change event), I first clear out the DataProvider of all
    data, then I'm setting the "sortable" property of the individual
    columns and the DataGrid to be 'false' and then I'm repopulating
    the DataProvider with fresh data. The result is that the ability to
    sort the datagrid is indeed taken away from the User, but the new
    data still appears sorted by the column.
    dataAC.removeAll(); // ArrayCollection DataProvider to my
    DataGrid
    // Grouped View
    for (var j:int=0;j<graphDG.columns.length;j++) {
    var dgc: DataGridColumn = graphDG.columns[j] as
    DataGridColumn;
    dgc.sortable = false;
    graphDG.sortableColumns = false;
    ...// refill dataAC

    Hello feldt12,
    This will clear the sort:
    ListCollectionView(dataGrid.dataProvider).sort = null;
    ListCollectionView(dataGrid.dataProvider).refresh();
    Thanks,
    Philip
    Message was edited by: Philip Keiter

  • I cant editing cells in datagrid in WPF

    I have make some project in wpf data entity frameworks but I cant write or edit crells in Datagrid 
    I need only one cells to edit !
    <DataGrid Name="lvShitjetDetajet" FontSize="14" Margin="10,104,10,68" KeyDown="lvShitjetDetajet_KeyDown" KeyUp="lvShitjetDetajet_KeyUp">
    <DataGrid.Columns>
    <DataGridTextColumn Header="Numri" Width="70" />
    <DataGridTextColumn Header="Emri" Binding="{Binding Path=Emri}" Width="350" />
    <DataGridTextColumn Header="Sasia" Width="100"
    IsReadOnly="False" Binding="{Binding Sasia}">
    </DataGridTextColumn>
    <!--<DataGridTextColumn IsReadOnly="False" Header="Sasia" Binding="{Binding Path=Sasia}" Width="100" />-->
    <DataGridTextColumn Header="Çmimi per njesi" Binding="{Binding Path=CmimiPerNjesi}" Width="150"/>
    <DataGridTextColumn Visibility="Hidden" Header="Totali pa TVSH" Binding="{Binding Path=TotaliPaTVSH}" Width="100"/>
    <DataGridTextColumn Visibility="Hidden" Header="Vlera e TVSH" Binding="{Binding Path=VleraTVSH}" Width="100"/>
    <DataGridTextColumn Header="Totali me TVSH" Binding="{Binding Path=TotaliMeTVSH}" Width="200"/>
    <DataGridTextColumn Header="Rabati %" Width="100"/>
    </DataGrid.Columns>
    </DataGrid>
    When I select cells and write something I cant i have this error message 'EditItem' is not allowed for this view.

    You must set an ItemSource for the DataGrid if you want to be able to edit the items in it. Just set the ItemsSource property to an ObservableCollection<BL.ShitjaDetajet> and add items to this collection instead of lvShitjetDetajet.Items and you will
    be fine:
    private readonly ObservableCollection<BL.ShitjaDetajet> _collection = new ObservableCollection<BL.ShitjaDetajet>();
    public MainWindow()
    InitializeComponent();
    lvShitjetDetajet.ItemsSource = _collection;
    private void ShtoDetajTeShitjes(Artikulli artikulli)
    BL.ShitjaDetajet sd = new BL.ShitjaDetajet();
    sd.ArtikulliID = artikulli.ArtikulliID;
    sd.Emri = artikulli.Emri;
    sd.CmimiPerNjesi = (decimal)artikulli.CmimiShites;
    sd.TVSH = (decimal)artikulli.TVSH;
    sd.Sasia = 1;
    sd.CmimiPerNjesi = artikulli.CmimiShites;
    sd.TotaliPaTVSH = sd.Sasia * sd.CmimiPerNjesi;
    sd.VleraTVSH = sd.TotaliPaTVSH * Convert.ToDecimal(sd.TVSH);
    sd.TotaliMeTVSH = sd.VleraTVSH + sd.TotaliPaTVSH;
    _collection.Add(sd);
    LlogaritTotalet();
    AktivizoButonat();
    You cannot add items directly to the Items property of the DataGrid if you want to be able to edit the items.
    Please remember to mark helpful posts as answer to close the thread.

  • Validating user input in a datagrid column

    Hi ,
    I have 2 datagrid columns for users to enter data. I want to
    restrict them only to enter numbers. I tried NumberValidator , that
    does not work. Please help !! I am a newbee..
    Thanks in advance..

    We created an itemEditor for our dataColumn that was a
    mx:TextInput. Then we used the textInput event to capture keys as
    they are typed. You get a TextEvent from that which you can cancel
    if it something you don't want the user entering. We used regexs
    for are validation here. I'm not sure if this is the best way to
    handle this sort of thing, but it worked.

  • Editing with a DataGrid and validating user input

    Editing
    with a DataGrid Tutorial
    How to edit the information in a Flex 2 DataGrid directly,
    without data binding TextInputs to it.
    Uses a Remote Object, a CFC, and a Microsoft Access database
    to demonstrate how.
    Uses Actionscript to validate the data the user types into
    the DataGrid.

    We created an itemEditor for our dataColumn that was a
    mx:TextInput. Then we used the textInput event to capture keys as
    they are typed. You get a TextEvent from that which you can cancel
    if it something you don't want the user entering. We used regexs
    for are validation here. I'm not sure if this is the best way to
    handle this sort of thing, but it worked.

  • Re: BUG? APEX 4.0: ORA-20503 error editing report with 400+ columns

    Hello Everyone.
    I've run into something quite strange and am hoping you can help me.
    I am using Apex 4.0.1 and Oracle version 10.2.0.5. I've created a "classical" report in which the underlying SQL is a very simple:
    select * from pvtabThe Oracle table pvtab consists of 419 columns, all of which are varchar2(88) and number type. That's it.
    When I run the report, al of the columns show up as expected.
    However, when I go into the "Report Attributes" tab and click on one of the fields (any of them, it doesn't matter which one), I immediately get the following error:
    ORA-20503: Current version of data in database has changed since user initiated update process. current checksum = "598CAA7B68746A66F4B99E1512C36DED" application checksum = "0"If if replace the "*" with a few actual column names, then I am able to access any of these columns without problem.
    If I put back the "*", I then encounter this error again.
    I have never seen this error with other SQL SELECT statements in which I use the "*" qualifier to retrieve all columns from the table.
    And so, I am wondering if the error is caused because of the large number of columns (419) in my table.
    I've seen this same error mentioned in connection with forms but never with a report.
    So, is there some limit to the number of columns one can have in a "classic" or interactive report?
    Any idea why I would be getting this error?
    Here is the DDL for my table pvtab:
    CREATE TABLE  "PVTAB"
       (     "MICRO" VARCHAR2(4),
         "PRIM" VARCHAR2(4),
         "UNIT" NUMBER,
         "SEC_REF_1" NUMBER,
         "SECN_1" VARCHAR2(88),
         "SEC_REF_2" NUMBER,
         "SECN_2" VARCHAR2(88),
         "SEC_REF_3" NUMBER,
         "SECN_3" VARCHAR2(88),
         "SEC_REF_4" NUMBER,
         "SECN_4" VARCHAR2(88),
         "SEC_REF_5" NUMBER,
         "SECN_5" VARCHAR2(88),
         "SEC_REF_6" NUMBER,
         "SECN_6" VARCHAR2(88),
         "SEC_REF_7" NUMBER,
         "SECN_7" VARCHAR2(88),
         "SEC_REF_8" NUMBER,
         "SECN_8" VARCHAR2(88),
         "SEC_REF_9" NUMBER,
         "SECN_9" VARCHAR2(88),
         "SEC_REF_10" NUMBER,
         "SECN_10" VARCHAR2(88),
         "SEC_REF_11" NUMBER,
         "SECN_11" VARCHAR2(88),
         "SEC_REF_12" NUMBER,
         "SECN_12" VARCHAR2(88),
         "SEC_REF_13" NUMBER,
         "SECN_13" VARCHAR2(88),
         "SEC_REF_14" NUMBER,
         "SECN_14" VARCHAR2(88),
         "SEC_REF_15" NUMBER,
         "SECN_15" VARCHAR2(88),
         "SEC_REF_16" NUMBER,
         "SECN_16" VARCHAR2(88),
         "SEC_REF_17" NUMBER,
         "SECN_17" VARCHAR2(88),
         "SEC_REF_18" NUMBER,
         "SECN_18" VARCHAR2(88),
         "SEC_REF_19" NUMBER,
         "SECN_19" VARCHAR2(88),
         "SEC_REF_20" NUMBER,
         "SECN_20" VARCHAR2(88),
         "SEC_REF_21" NUMBER,
         "SECN_21" VARCHAR2(88),
         "SEC_REF_22" NUMBER,
         "SECN_22" VARCHAR2(88),
         "SEC_REF_23" NUMBER,
         "SECN_23" VARCHAR2(88),
         "SEC_REF_24" NUMBER,
         "SECN_24" VARCHAR2(88),
         "SEC_REF_25" NUMBER,
         "SECN_25" VARCHAR2(88),
         "SEC_REF_26" NUMBER,
         "SECN_26" VARCHAR2(88),
         "SEC_REF_27" NUMBER,
         "SECN_27" VARCHAR2(88),
         "SEC_REF_28" NUMBER,
         "SECN_28" VARCHAR2(88),
         "SEC_REF_29" NUMBER,
         "SECN_29" VARCHAR2(88),
         "SEC_REF_30" NUMBER,
         "SECN_30" VARCHAR2(88),
         "SEC_REF_31" NUMBER,
         "SECN_31" VARCHAR2(88),
         "SEC_REF_32" NUMBER,
         "SECN_32" VARCHAR2(88),
         "SEC_REF_33" NUMBER,
         "SECN_33" VARCHAR2(88),
         "SEC_REF_34" NUMBER,
         "SECN_34" VARCHAR2(88),
         "SEC_REF_35" NUMBER,
         "SECN_35" VARCHAR2(88),
         "SEC_REF_36" NUMBER,
         "SECN_36" VARCHAR2(88),
         "SEC_REF_37" NUMBER,
         "SECN_37" VARCHAR2(88),
         "SEC_REF_38" NUMBER,
         "SECN_38" VARCHAR2(88),
         "SEC_REF_39" NUMBER,
         "SECN_39" VARCHAR2(88),
         "SEC_REF_40" NUMBER,
         "SECN_40" VARCHAR2(88),
         "SEC_REF_41" NUMBER,
         "SECN_41" VARCHAR2(88),
         "SEC_REF_42" NUMBER,
         "SECN_42" VARCHAR2(88),
         "SEC_REF_43" NUMBER,
         "SECN_43" VARCHAR2(88),
         "SEC_REF_44" NUMBER,
         "SECN_44" VARCHAR2(88),
         "SEC_REF_45" NUMBER,
         "SECN_45" VARCHAR2(88),
         "SEC_REF_46" NUMBER,
         "SECN_46" VARCHAR2(88),
         "SEC_REF_47" NUMBER,
         "SECN_47" VARCHAR2(88),
         "SEC_REF_48" NUMBER,
         "SECN_48" VARCHAR2(88),
         "SEC_REF_49" NUMBER,
         "SECN_49" VARCHAR2(88),
         "SEC_REF_50" NUMBER,
         "SECN_50" VARCHAR2(88),
         "SEC_REF_51" NUMBER,
         "SECN_51" VARCHAR2(88),
         "SEC_REF_52" NUMBER,
         "SECN_52" VARCHAR2(88),
         "SEC_REF_53" NUMBER,
         "SECN_53" VARCHAR2(88),
         "SEC_REF_54" NUMBER,
         "SECN_54" VARCHAR2(88),
         "SEC_REF_55" NUMBER,
         "SECN_55" VARCHAR2(88),
         "SEC_REF_56" NUMBER,
         "SECN_56" VARCHAR2(88),
         "SEC_REF_57" NUMBER,
         "SECN_57" VARCHAR2(88),
         "SEC_REF_58" NUMBER,
         "SECN_58" VARCHAR2(88),
         "SEC_REF_59" NUMBER,
         "SECN_59" VARCHAR2(88),
         "SEC_REF_60" NUMBER,
         "SECN_60" VARCHAR2(88),
         "SEC_REF_61" NUMBER,
         "SECN_61" VARCHAR2(88),
         "SEC_REF_62" NUMBER,
         "SECN_62" VARCHAR2(88),
         "SEC_REF_63" NUMBER,
         "SECN_63" VARCHAR2(88),
         "SEC_REF_64" NUMBER,
         "SECN_64" VARCHAR2(88),
         "SEC_REF_65" NUMBER,
         "SECN_65" VARCHAR2(88),
         "SEC_REF_66" NUMBER,
         "SECN_66" VARCHAR2(88),
         "SEC_REF_67" NUMBER,
         "SECN_67" VARCHAR2(88),
         "SEC_REF_68" NUMBER,
         "SECN_68" VARCHAR2(88),
         "SEC_REF_69" NUMBER,
         "SECN_69" VARCHAR2(88),
         "SEC_REF_70" NUMBER,
         "SECN_70" VARCHAR2(88),
         "SEC_REF_71" NUMBER,
         "SECN_71" VARCHAR2(88),
         "SEC_REF_72" NUMBER,
         "SECN_72" VARCHAR2(88),
         "SEC_REF_73" NUMBER,
         "SECN_73" VARCHAR2(88),
         "SEC_REF_74" NUMBER,
         "SECN_74" VARCHAR2(88),
         "SEC_REF_75" NUMBER,
         "SECN_75" VARCHAR2(88),
         "SEC_REF_76" NUMBER,
         "SECN_76" VARCHAR2(88),
         "SEC_REF_77" NUMBER,
         "SECN_77" VARCHAR2(88),
         "SEC_REF_78" NUMBER,
         "SECN_78" VARCHAR2(88),
         "SEC_REF_79" NUMBER,
         "SECN_79" VARCHAR2(88),
         "SEC_REF_80" NUMBER,
         "SECN_80" VARCHAR2(88),
         "SEC_REF_81" NUMBER,
         "SECN_81" VARCHAR2(88),
         "SEC_REF_82" NUMBER,
         "SECN_82" VARCHAR2(88),
         "SEC_REF_83" NUMBER,
         "SECN_83" VARCHAR2(88),
         "SEC_REF_84" NUMBER,
         "SECN_84" VARCHAR2(88),
         "SEC_REF_85" NUMBER,
         "SECN_85" VARCHAR2(88),
         "SEC_REF_86" NUMBER,
         "SECN_86" VARCHAR2(88),
         "SEC_REF_87" NUMBER,
         "SECN_87" VARCHAR2(88),
         "SEC_REF_88" NUMBER,
         "SECN_88" VARCHAR2(88),
         "SEC_REF_89" NUMBER,
         "SECN_89" VARCHAR2(88),
         "SEC_REF_90" NUMBER,
         "SECN_90" VARCHAR2(88),
         "SEC_REF_91" NUMBER,
         "SECN_91" VARCHAR2(88),
         "SEC_REF_92" NUMBER,
         "SECN_92" VARCHAR2(88),
         "SEC_REF_93" NUMBER,
         "SECN_93" VARCHAR2(88),
         "SEC_REF_94" NUMBER,
         "SECN_94" VARCHAR2(88),
         "SEC_REF_95" NUMBER,
         "SECN_95" VARCHAR2(88),
         "SEC_REF_96" NUMBER,
         "SECN_96" VARCHAR2(88),
         "SEC_REF_97" NUMBER,
         "SECN_97" VARCHAR2(88),
         "SEC_REF_98" NUMBER,
         "SECN_98" VARCHAR2(88),
         "SEC_REF_99" NUMBER,
         "SECN_99" VARCHAR2(88),
         "SEC_REF_100" NUMBER,
         "SECN_100" VARCHAR2(88),
         "SEC_REF_101" NUMBER,
         "SECN_101" VARCHAR2(88),
         "SEC_REF_102" NUMBER,
         "SECN_102" VARCHAR2(88),
         "SEC_REF_103" NUMBER,
         "SECN_103" VARCHAR2(88),
         "SEC_REF_104" NUMBER,
         "SECN_104" VARCHAR2(88),
         "SEC_REF_105" NUMBER,
         "SECN_105" VARCHAR2(88),
         "SEC_REF_106" NUMBER,
         "SECN_106" VARCHAR2(88),
         "SEC_REF_107" NUMBER,
         "SECN_107" VARCHAR2(88),
         "SEC_REF_108" NUMBER,
         "SECN_108" VARCHAR2(88),
         "SEC_REF_109" NUMBER,
         "SECN_109" VARCHAR2(88),
         "SEC_REF_110" NUMBER,
         "SECN_110" VARCHAR2(88),
         "SEC_REF_111" NUMBER,
         "SECN_111" VARCHAR2(88),
         "SEC_REF_112" NUMBER,
         "SECN_112" VARCHAR2(88),
         "SEC_REF_113" NUMBER,
         "SECN_113" VARCHAR2(88),
         "SEC_REF_114" NUMBER,
         "SECN_114" VARCHAR2(88),
         "SEC_REF_115" NUMBER,
         "SECN_115" VARCHAR2(88),
         "SEC_REF_116" NUMBER,
         "SECN_116" VARCHAR2(88),
         "SEC_REF_117" NUMBER,
         "SECN_117" VARCHAR2(88),
         "SEC_REF_118" NUMBER,
         "SECN_118" VARCHAR2(88),
         "SEC_REF_119" NUMBER,
         "SECN_119" VARCHAR2(88),
         "SEC_REF_120" NUMBER,
         "SECN_120" VARCHAR2(88),
         "SEC_REF_121" NUMBER,
         "SECN_121" VARCHAR2(88),
         "SEC_REF_122" NUMBER,
         "SECN_122" VARCHAR2(88),
         "SEC_REF_123" NUMBER,
         "SECN_123" VARCHAR2(88),
         "SEC_REF_124" NUMBER,
         "SECN_124" VARCHAR2(88),
         "SEC_REF_125" NUMBER,
         "SECN_125" VARCHAR2(88),
         "SEC_REF_126" NUMBER,
         "SECN_126" VARCHAR2(88),
         "SEC_REF_127" NUMBER,
         "SECN_127" VARCHAR2(88),
         "SEC_REF_128" NUMBER,
         "SECN_128" VARCHAR2(88),
         "SEC_REF_129" NUMBER,
         "SECN_129" VARCHAR2(88),
         "SEC_REF_130" NUMBER,
         "SECN_130" VARCHAR2(88),
         "SEC_REF_131" NUMBER,
         "SECN_131" VARCHAR2(88),
         "SEC_REF_132" NUMBER,
         "SECN_132" VARCHAR2(88),
         "SEC_REF_133" NUMBER,
         "SECN_133" VARCHAR2(88),
         "SEC_REF_134" NUMBER,
         "SECN_134" VARCHAR2(88),
         "SEC_REF_135" NUMBER,
         "SECN_135" VARCHAR2(88),
         "SEC_REF_136" NUMBER,
         "SECN_136" VARCHAR2(88),
         "SEC_REF_137" NUMBER,
         "SECN_137" VARCHAR2(88),
         "SEC_REF_138" NUMBER,
         "SECN_138" VARCHAR2(88),
         "SEC_REF_139" NUMBER,
         "SECN_139" VARCHAR2(88),
         "SEC_REF_140" NUMBER,
         "SECN_140" VARCHAR2(88),
         "SEC_REF_141" NUMBER,
         "SECN_141" VARCHAR2(88),
         "SEC_REF_142" NUMBER,
         "SECN_142" VARCHAR2(88),
         "SEC_REF_143" NUMBER,
         "SECN_143" VARCHAR2(88),
         "SEC_REF_144" NUMBER,
         "SECN_144" VARCHAR2(88),
         "SEC_REF_145" NUMBER,
         "SECN_145" VARCHAR2(88),
         "SEC_REF_146" NUMBER,
         "SECN_146" VARCHAR2(88),
         "SEC_REF_147" NUMBER,
         "SECN_147" VARCHAR2(88),
         "SEC_REF_148" NUMBER,
         "SECN_148" VARCHAR2(88),
         "SEC_REF_149" NUMBER,
         "SECN_149" VARCHAR2(88),
         "SEC_REF_150" NUMBER,
         "SECN_150" VARCHAR2(88),
         "SEC_REF_151" NUMBER,
         "SECN_151" VARCHAR2(88),
         "SEC_REF_152" NUMBER,
         "SECN_152" VARCHAR2(88),
         "SEC_REF_153" NUMBER,
         "SECN_153" VARCHAR2(88),
         "SEC_REF_154" NUMBER,
         "SECN_154" VARCHAR2(88),
         "SEC_REF_155" NUMBER,
         "SECN_155" VARCHAR2(88),
         "SEC_REF_156" NUMBER,
         "SECN_156" VARCHAR2(88),
         "SEC_REF_157" NUMBER,
         "SECN_157" VARCHAR2(88),
         "SEC_REF_158" NUMBER,
         "SECN_158" VARCHAR2(88),
         "SEC_REF_159" NUMBER,
         "SECN_159" VARCHAR2(88),
         "SEC_REF_160" NUMBER,
         "SECN_160" VARCHAR2(88),
         "SEC_REF_161" NUMBER,
         "SECN_161" VARCHAR2(88),
         "SEC_REF_162" NUMBER,
         "SECN_162" VARCHAR2(88),
         "SEC_REF_163" NUMBER,
         "SECN_163" VARCHAR2(88),
         "SEC_REF_164" NUMBER,
         "SECN_164" VARCHAR2(88),
         "SEC_REF_165" NUMBER,
         "SECN_165" VARCHAR2(88),
         "SEC_REF_166" NUMBER,
         "SECN_166" VARCHAR2(88),
         "SEC_REF_167" NUMBER,
         "SECN_167" VARCHAR2(88),
         "SEC_REF_168" NUMBER,
         "SECN_168" VARCHAR2(88),
         "SEC_REF_169" NUMBER,
         "SECN_169" VARCHAR2(88),
         "SEC_REF_170" NUMBER,
         "SECN_170" VARCHAR2(88),
         "SEC_REF_171" NUMBER,
         "SECN_171" VARCHAR2(88),
         "SEC_REF_172" NUMBER,
         "SECN_172" VARCHAR2(88),
         "SEC_REF_173" NUMBER,
         "SECN_173" VARCHAR2(88),
         "SEC_REF_174" NUMBER,
         "SECN_174" VARCHAR2(88),
         "SEC_REF_175" NUMBER,
         "SECN_175" VARCHAR2(88),
         "SEC_REF_176" NUMBER,
         "SECN_176" VARCHAR2(88),
         "SEC_REF_177" NUMBER,
         "SECN_177" VARCHAR2(88),
         "SEC_REF_178" NUMBER,
         "SECN_178" VARCHAR2(88),
         "SEC_REF_179" NUMBER,
         "SECN_179" VARCHAR2(88),
         "SEC_REF_180" NUMBER,
         "SECN_180" VARCHAR2(88),
         "SEC_REF_181" NUMBER,
         "SECN_181" VARCHAR2(88),
         "SEC_REF_182" NUMBER,
         "SECN_182" VARCHAR2(88),
         "SEC_REF_183" NUMBER,
         "SECN_183" VARCHAR2(88),
         "SEC_REF_184" NUMBER,
         "SECN_184" VARCHAR2(88),
         "SEC_REF_185" NUMBER,
         "SECN_185" VARCHAR2(88),
         "SEC_REF_186" NUMBER,
         "SECN_186" VARCHAR2(88),
         "SEC_REF_187" NUMBER,
         "SECN_187" VARCHAR2(88),
         "SEC_REF_188" NUMBER,
         "SECN_188" VARCHAR2(88),
         "SEC_REF_189" NUMBER,
         "SECN_189" VARCHAR2(88),
         "SEC_REF_190" NUMBER,
         "SECN_190" VARCHAR2(88),
         "SEC_REF_191" NUMBER,
         "SECN_191" VARCHAR2(88),
         "SEC_REF_192" NUMBER,
         "SECN_192" VARCHAR2(88),
         "SEC_REF_193" NUMBER,
         "SECN_193" VARCHAR2(88),
         "SEC_REF_194" NUMBER,
         "SECN_194" VARCHAR2(88),
         "SEC_REF_195" NUMBER,
         "SECN_195" VARCHAR2(88),
         "SEC_REF_196" NUMBER,
         "SECN_196" VARCHAR2(88),
         "SEC_REF_197" NUMBER,
         "SECN_197" VARCHAR2(88),
         "SEC_REF_198" NUMBER,
         "SECN_198" VARCHAR2(88),
         "SEC_REF_199" NUMBER,
         "SECN_199" VARCHAR2(88),
         "SEC_REF_200" NUMBER,
         "SECN_200" VARCHAR2(88),
         "SEC_REF_201" NUMBER,
         "SECN_201" VARCHAR2(88),
         "SEC_REF_202" NUMBER,
         "SECN_202" VARCHAR2(88),
         "SEC_REF_203" NUMBER,
         "SECN_203" VARCHAR2(88),
         "SEC_REF_204" NUMBER,
         "SECN_204" VARCHAR2(88),
         "SEC_REF_205" NUMBER,
         "SECN_205" VARCHAR2(88),
         "SEC_REF_206" NUMBER,
         "SECN_206" VARCHAR2(88),
         "SEC_REF_207" NUMBER,
         "SECN_207" VARCHAR2(88),
         "SEC_REF_208" NUMBER,
         "SECN_208" VARCHAR2(88)
       );Thank you for any help/advice.
    Elie
    Edited by: EEG on Jun 12, 2011 2:09 PM

    So, is there some limit to the number of columns one can have in a "classic" or interactive report?Yes. See Oracle® Application Express Application Builder User's Guide Release 4.0, Appendix B: Oracle Application Express Limits.
    Any idea why I would be getting this error?No, but I've replicated it in APEX 4.0.2.00.07 on 11.2.0.1.0 EE using a table of 420 <tt>varchar2(88)</tt> columns:
    >
    ORA-20503: Current version of data in database has changed since user initiated update process. current checksum = "50C9BDC0AA1AEF0EB272E9158B2117B4" application checksum = "0"
    >
    Happens whether using <tt>select *</tt> or including all column names in the query. (I know you don't want to type all the column names, but I'd never use <tt>select *</tt> in a production application: always use a proper column list. You can get one without typing by drag-and-drop of a table in most IDEs, or a query from <tt>user_tab_columns</tt>.)
    I hit the problem at 274 columns. Such an arbitrary number leads me to think that the problem is not one of the number of columns per se, but is due to some other limit (possibly a 32K VARCHAR2/RAW buffer somewhere).
    Workaround:
    Updates to the report column attributes are actually being saved, and you can navigate them using the Page Definition tree view as described in Appendix B.
    Getting More Help:
    This is probably a bug. If you have a support agreement with Oracle raise an SR with Oracle Support.
    Also:
    <li>Search the forum using the "ORA-20503" code and other possible terms to see if there's anything relevant. I had a quick look but the only thread in this context recommended an upgrade on an Oracle 9 DB version that's not compatible with APEX 4.0.
    <li>To get the attention of the Oracle APEX team or anyone else who may know more about this problem than we do, edit your original post and change the Subject to be more specific about the actual nature of the problem: <em>BUG? APEX 4.0: ORA-20503 error editing report with 400+ columns</em>, and include your database version/edition and the definition of the <tt>PVTAB</tt> table.
    Finally:
    Somebody's bound to ask, so we might as well get started:
    <li>Why so many columns?
    <li>What requirement is this trying to fulfil?

  • Need help adding image to datagrid column

    Hi,
    Can anyone tell me how to add an image to a datagrid column?
    I have created a flex library project which contains a mxml component with a datagrid, an item renderer mxml component which rendered the image within the datagrid column depending on the value coming back from the database for that column and a folder 'assets' which hold all the images. When I add the library to my main project and call the mxml component with the datagrid an image place holder is visible in the datagrid column but not the image. However, if I take the image out of the library project and added to an 'assets' folder in the main project the image is displayed in the datagrid column.
    It looks like, even though the images are in the flex library project and only the flex library project is trying to display the images in the datagrid, the library project is looking in the main application project folder for the image.
    Does anyone know why this is happening and how to fix it?
    Thanks in advance for an help,
    Xander.

    I have tried embedding the images in my library but it still didn't work. Also I can't embed the image as I'm using the value of the column to complete the image name, for example in my mxml item renderer component I have the added the following code
    <mx:Image source="@Embed(source='assets/' + data.mycolumnvalue + '.png')" tooltip="{data.mycolumnvalue}"/>
    but nothing is displayed.

  • How do I show an image in a DataGrid column?

    I'm not sure that this is possible. I would like to show an
    image in a datagrid column based on the data that the grid is bound
    to. Is there any way to do this? I'm using Beta 3.
    Thanks!

    Yes, you need a custom itemRenderer. This can be inline or a
    custom class.
    Tracy

Maybe you are looking for