First off, it's a bit difficult to debug as we don't have access to your
service to get the data you are seeing.
Anyway, one thing I noticed is that in your function refreshBtn_clickHandler,
you have the line:
adg.dataProvider = "{getAllItemsCollection}";
This will not work as you intend. You are mixing ActionScript syntax with MXML
syntax. I'm pretty sure that what you really want is:
adg.dataProvider = getAllItemsCollection;
--- In [email protected], awesome <cubesp...@...> wrote:
>
>
> When I press delete I need to refresh datagrid to display changes. Currently
> it displays changes only when I reload the page.
>
> I tried getAllItemsCollection.refresh(); but it only collapses grouping and
> does not display changes.
>
> For testing purposes I created delete button and tried everything from
> invalidatedisplaylist to reassigning dataprovider but with no luck.
>
> Any help would be appreciated.
>
> My code:
>
> <?xml version="1.0" encoding="utf-8"?>
> <mx:Application xmlns:mx="http://www.adobe.com/2006/mxml" layout="vertical"
> minWidth="1024" minHeight="768"
> xmlns:izdelkiservice="services.izdelkiservice.*">
> <mx:Script>
> <![CDATA[
> import mx.events.AdvancedDataGridEvent;
> import mx.controls.dataGridClasses.DataGridColumn;
> import mx.controls.DataGrid;
> import mx.events.DataGridEvent;
> import mx.messaging.AbstractConsumer;
> import mx.utils.ObjectUtil;
> import mx.events.FlexEvent;
> import mx.controls.Alert;
>
> public var clickedColumn:String;
>
> protected function
> adg_creationCompleteHandler(event:FlexEvent):void
> {
> getAllItemsResult.token =
> izdelkiService.getAllItems();
> }
>
> protected function
> button_clickHandler(event:MouseEvent):void
> {
> createItemResult.token =
> izdelkiService.createItem(izdelek);
> }
>
> protected function
> updateBtn_clickHandler(event:MouseEvent):void
> {
> updateItemResult.token =
> izdelkiService.updateItem(izdelek2);
> }
>
> protected function
> deleteBtn_clickHandler(event:MouseEvent):void
> {
> deleteItemResult.token =
> izdelkiService.deleteItem(izdelek2.id);
> getAllItemsCollection.refresh();
> adg.dataProvider = adg.dataProvider;
> }
>
> private var _dataField:String;
>
> private function
> adg_headerReleaseHandler(event:AdvancedDataGridEvent):void
> {
> clickedColumn = event.dataField;
> }
>
> private function sortNumeric(obj1:Object,
> obj2:Object):int
> {
> return
> ObjectUtil.numericCompare(obj1[clickedColumn],obj2[clickedColumn]);
>
> }
>
> private function sortKat(obj1:Object, obj2:Object):int
> {
> return
> ObjectUtil.numericCompare(obj1.kat,obj2.kat);
> }
>
> protected function
> refreshBtn_clickHandler(event:MouseEvent):void
> {
> adg.dataProvider = null;
> adg.dataProvider = "{getAllItemsCollection}";
> getAllItemsCollection.refresh();
> adg.validateDisplayList();
> adg.validateNow();
> adg.invalidateDisplayList();
> adg.invalidateList();
> }
> ]]>
> </mx:Script>
> <mx:AdvancedDataGrid id="adg" designViewDataType="tree" width="100%"
> creationComplete="adg_creationCompleteHandler(event)"
> editable="false"
> dataProvider="{getAllItemsCollection}" height="50%"
> headerRelease="adg_headerReleaseHandler(event)">
> <mx:columns>
> <mx:AdvancedDataGridColumn headerText="id"
> dataField="id"
> editable="false" sortCompareFunction="sortNumeric"/>
> <mx:AdvancedDataGridColumn headerText="izdelek"
> dataField="izdelek"/>
> <mx:AdvancedDataGridColumn headerText="ime"
> dataField="ime"/>
> <mx:AdvancedDataGridColumn headerText="kat"
> dataField="kat"
> sortCompareFunction="sortNumeric"/>
> <mx:AdvancedDataGridColumn headerText="opis"
> dataField="opis"/>
> <mx:AdvancedDataGridColumn headerText="datum"
> dataField="datum"/>
> <mx:AdvancedDataGridColumn headerText="vrstni_red"
> dataField="vrstni_red"
> sortCompareFunction="sortNumeric"/>
> </mx:columns>
> </mx:AdvancedDataGrid>
> <mx:CallResponder id="getAllItemsResult"
> result="getAllItemsCollection.refresh();"/>
> <izdelkiservice:IzdelkiService id="izdelkiService"
> destination="IzdelkiService"
> endpoint="http://localhost/kerin_updater-debug/gateway.php"
> fault="Alert.show(event.fault.faultString)" showBusyCursor="true"
> source="IzdelkiService"/>
> <mx:GroupingCollection id="getAllItemsCollection"
> source="{getAllItemsResult.lastResult}">
> <mx:Grouping>
> <mx:GroupingField name="kat" compareFunction="sortKat"/>
> </mx:Grouping>
> </mx:GroupingCollection>
> <mx:HBox>
> <mx:Form>
> <mx:FormItem label="Id">
> <mx:TextInput id="idTextInput2"
> text="{izdelek2.id}" enabled="false"
> editable="false"/>
> </mx:FormItem>
> <mx:FormItem label="Izdelek">
> <mx:TextInput id="izdelekTextInput2"
> text="{izdelek2.izdelek}"/>
> </mx:FormItem>
> <mx:FormItem label="Ime">
> <mx:TextInput id="imeTextInput2"
> text="{izdelek2.ime}"/>
> </mx:FormItem>
> <mx:FormItem label="Kat">
> <mx:TextInput id="katTextInput2"
> text="{izdelek2.kat}"/>
> </mx:FormItem>
> <mx:FormItem label="Opis">
> <mx:TextInput id="opisTextInput2"
> text="{izdelek2.opis}"/>
> </mx:FormItem>
> <mx:FormItem label="Datum">
> <mx:TextInput id="datumTextInput2"
> text="{izdelek2.datum}"/>
> </mx:FormItem>
> <mx:FormItem label="Vrstni_red">
> <mx:TextInput id="vrstni_redTextInput2"
> text="{izdelek2.vrstni_red}"/>
> </mx:FormItem>
> <mx:HBox>
> <mx:Button label="Update" id="updateBtn"
> click="updateBtn_clickHandler(event)"/>
> <mx:Button label="Delete" id="deleteBtn"
> click="deleteBtn_clickHandler(event)"/>
> <mx:Button label="Refresh" id="refreshBtn"
> click="refreshBtn_clickHandler(event)"/>
> </mx:HBox>
> </mx:Form>
> <mx:Form defaultButton="{button}">
> <mx:FormItem label="Id">
> <mx:TextInput id="idTextInput"
> text="{izdelek.id}" editable="false"
> enabled="false" />
> </mx:FormItem>
> <mx:FormItem label="Izdelek">
> <mx:TextInput id="izdelekTextInput"
> text="{izdelek.izdelek}"/>
> </mx:FormItem>
> <mx:FormItem label="Ime">
> <mx:TextInput id="imeTextInput"
> text="{izdelek.ime}"/>
> </mx:FormItem>
> <mx:FormItem label="Kat">
> <mx:TextInput id="katTextInput"
> text="{izdelek.kat}"/>
> </mx:FormItem>
> <mx:FormItem label="Opis">
> <mx:TextInput id="opisTextInput"
> text="{izdelek.opis}"/>
> </mx:FormItem>
> <mx:FormItem label="Datum">
> <mx:TextInput id="datumTextInput"
> text="{izdelek.datum}"/>
> </mx:FormItem>
> <mx:FormItem label="Vrstni_red">
> <mx:TextInput id="vrstni_redTextInput"
> text="{izdelek.vrstni_red}"/>
> </mx:FormItem>
> <mx:Button label="CreateItem" id="button"
> click="button_clickHandler(event)"/>
> </mx:Form>
> </mx:HBox>
>
> <izdelkiservice:Izdelek id="izdelek"
> vrstni_red="{vrstni_redTextInput.text}" izdelek="{izdelekTextInput.text}"
> datum="{datumTextInput.text}" ime="{imeTextInput.text}"
> kat="{katTextInput.text}" opis="{opisTextInput.text}"/>
> <mx:Binding source="idTextInput.text" destination="izdelek.id"/>
> <mx:CallResponder id="createItemResult"/>
> <izdelkiservice:Izdelek id="izdelek2" izdelek="{izdelekTextInput2.text}"
> ime="{imeTextInput2.text}" kat="{katTextInput2.text}"
> datum="{datumTextInput2.text}" opis="{opisTextInput2.text}"
> vrstni_red="{vrstni_redTextInput2.text}"/>
>
> <mx:Binding source="idTextInput2.text" destination="izdelek2.id"/>
> <mx:Binding source="adg.selectedItem as Izdelek"
> destination="izdelek2"/>
> <mx:CallResponder id="updateItemResult"/>
> <mx:CallResponder id="deleteItemResult"/>
>
> </mx:Application>
>
> --
> View this message in context:
> http://www.nabble.com/advanced-datagrid-refresh-tp24710773p24710773.html
> Sent from the FlexCoders mailing list archive at Nabble.com.
>