Dynamic button in a componentcolumn

  1. #1

    Dynamic button in a componentcolumn

    Hi,
    I have a page in my web site and per row in a gridpanel, which is generated with a store there is a value Y or N.
    based on this value, i would like to give the end user the possibility to download a specific file.

    i got the download working.
    but if the value is N (for no) I would like to have a button 'Request file'
    and if the value is Y (for yes) i would like to have a button 'Download file'


    is this possible?

                                    <ext:GridPanel ID="GridPanel1" runat="server">
                                        <Store>
                                            <ext:Store ID="Store1" runat="server" DataSourceID="ds_track_and_trace" AutoLoad="false"
                                                IDProperty="SHIPMENT_SEQ" PageSize="100" ShowWarningOnFailure="false">
                                                <Model>
                                                    <ext:Model ID="Model1" runat="server" IDProperty="shipment_seq" OnDataBinding="databindGrid">
                                                        <Fields>
                                                            <ext:ModelField Type="String" Name="shipment_seq" />
                                                            <ext:ModelField Type="String" Name="shipment_reference" />
                                                            <ext:ModelField Type="String" Name="shipment_load_date" />
                                                            <ext:ModelField Type="String" Name="shipment_unload_date" />
                                                            <ext:ModelField Type="String" Name="load_address" />
                                                            <ext:ModelField Type="String" Name="unload_address" />
                                                            <ext:ModelField Type="String" Name="shipment_status" />
                                                            <ext:ModelField Type="String" Name="goods" />
                                                            <ext:ModelField Type="String" Name="downloadPod" />
                                                            <%--<ext:ModelField Type="String" Name="cmr_present_yn" />--%>
                                                        </Fields>
                                                    </ext:Model>
                                                </Model>
                                            </ext:Store>
                                        </Store>
                                        <ColumnModel ID="ColumnModel1" runat="server">
                                            <Columns>
                                                <ext:Column ID="Column1" runat="server" DataIndex="shipment_seq" Text="#" Width="50" />
                                                <ext:Column ID="Column2" runat="server" DataIndex="shipment_reference" Text="Your ref."
                                                    Width="100" />
                                                <ext:Column ID="Column3" runat="server" DataIndex="shipment_load_date" Text="Loading date"
                                                    Width="120" />
                                                <ext:Column ID="Column4" runat="server" DataIndex="shipment_unload_date" Text="Unloading date"
                                                    Width="120" />
                                                <ext:Column ID="Column5" runat="server" StyleHtmlCls="multilineColumn" DataIndex="load_address"
                                                    Width="225" Text="Loading address" />
                                                <ext:Column ID="Column6" runat="server" StyleHtmlCls="multilineColumn" DataIndex="unload_address"
                                                    Flex="225" Text="Unloading address" />
                                                <ext:Column ID="ColumnStatus" runat="server" DataIndex="shipment_status" Text="Status"
                                                    Width="125" />
                                                <ext:Column ID="Column8" runat="server" DataIndex="goods" Text="Goods" Width="150" />
                                                <ext:Column ID="Column9" runat="server" DataIndex="cmr_present_yn" Text="Cmr" Width="50"
                                                    Visible="false" />
                                                <ext:ComponentColumn ID="ComponentColumn2" runat="server" OverOnly="true" Width="180">
                                                    <Component>
                                                        <ext:Button ID="btnDownloadPod" ItemID="btnDownloadPod" runat="server" Text="Download">
                                                            <Listeners>
                                                                <Click Handler="App.direct.downloadPod(this.record.get('shipment_load_date'), this.record.get('shipment_seq'),{
                                                                                            isUpload : true
                                                                                        });" />
                                                            </Listeners>
                                                        </ext:Button>
                                                    </Component>
                                                    <Renderer Handler="metadata.style='color:gray;'; return 'Move mouse here';" />
                                                </ext:ComponentColumn>
                                            </Columns>
                                        </ColumnModel>
                                        <SelectionModel>
                                            <ext:RowSelectionModel ID="RowSelectionModel1" runat="server">
                                            </ext:RowSelectionModel>
                                        </SelectionModel>
                                        <BottomBar>
                                            <ext:PagingToolbar ID="PagingToolbar1" runat="server">
                                            </ext:PagingToolbar>
                                        </BottomBar>
                                        <TopBar>
                                            <ext:Toolbar ID="Toolbar1" runat="server">
                                                <Items>
                                                    <ext:ToolbarFill ID="ToolbarFill1" runat="server" />
                                                    <ext:Button ID="btnToExcel" runat="server" Text="To Excel" AutoPostBack="true" OnClick="ToExcel"
                                                        Icon="PageExcel">
                                                        <Listeners>
                                                            <Click Fn="saveData" />
                                                        </Listeners>
                                                    </ext:Button>
                                                </Items>
                                            </ext:Toolbar>
                                        </TopBar>
                                    </ext:GridPanel>
  2. #2
    Use Bind event of component column
    <Bind Handler="cmp.setText(record.get('fieldname') == 'Y' ? 'Request file' : 'Download file');" />
  3. #3
    Hi Vladimir,

    Thanks this is perfect !
    can i additionally set an icon for this button in this componentcolumn based on the same?
  4. #4
    Hi Valdimir,

    never mind, i got it.
    but is there somewhere a documentation, how to use cmp. ?

                                                        <Bind Handler="cmp.setIconCls(record.get('pod') == 'Y' ? '#ArrowDown' : '#ArrowUp');
                                                                       cmp.setText(record.get('pod') == 'Y' ? 'Download pod' : 'Request pod');" />

Similar Threads

  1. [CLOSED] [#36] ComponentColumn + treePanel
    By aisi_it_admin in forum 2.x Legacy Premium Help
    Replies: 4
    Last Post: Feb 14, 2013, 9:33 AM
  2. [CLOSED] ComponentColumn
    By canbay in forum 2.x Legacy Premium Help
    Replies: 3
    Last Post: Sep 26, 2012, 7:56 PM
  3. [CLOSED] ComponentColumn
    By canbay in forum 2.x Legacy Premium Help
    Replies: 1
    Last Post: Sep 10, 2012, 5:26 PM
  4. ComponentColumn Editor Bug?
    By Doug.Morrow in forum 2.x Help
    Replies: 6
    Last Post: Aug 08, 2012, 7:30 PM
  5. ComponentColumn usage
    By Zdenek in forum 2.x Help
    Replies: 0
    Last Post: Jul 13, 2012, 9:38 AM

Tags for this Thread

Posting Permissions