This is a migrated thread and some comments may be shown as answers.

RadGrid Toolbar

4 Answers 135 Views
Grid
This is a migrated thread and some comments may be shown as answers.
Rasool
Top achievements
Rank 1
Rasool asked on 30 Mar 2015, 09:38 AM
Hi Dear

This problem occurred after update :

I use this java for enable disable items in toolbar :

function RowSelected(sender, eventArgs) {
                var grid = sender;
                var radToolBar = $telerik.findControl(grid.get_element(), "rtb_gridOp");

                if (grid.get_masterTableView().get_selectedItems().length > 0) {
                    radToolBar.get_items().getItem(1).set_enabled(true);
                    radToolBar.get_items().getItem(2).set_enabled(true);
                    radToolBar.get_items().getItem(5).set_enabled(true);
                }
                else {
                    radToolBar.get_items().getItem(1).set_enabled(false);
                    radToolBar.get_items().getItem(2).set_enabled(false);
                    radToolBar.get_items().getItem(5).set_enabled(false);
                }
            }

My Radgrid toolbar:

 <CommandItemTemplate>
                            <telerik:RadToolBar ID="rtb_gridOp" runat="server" AutoPostBack="true" OnClientButtonClicking="onToolBarClientButtonClicking">
                                <Items>
                                    <telerik:RadToolBarButton ImageUrl="/img/add-icon.png" ToolTip="<%$ Resources:Resource, newRecord %>"
                                    CommandName="InitInsert" Visible='<%# rg_chekList.EditIndexes.Count == 0 && !rg_chekList.MasterTableView.IsItemInserted %>'>
                                    </telerik:RadToolBarButton>
                                    <telerik:RadToolBarButton ImageUrl="/img/delete-icon.png" ToolTip="<%$ Resources:Resource, deleteRecord %>" Enabled="false"
                                    CommandName="DeleteSelected" Visible='<%# rg_chekList.EditIndexes.Count == 0 && !rg_chekList.MasterTableView.IsItemInserted%>'>
                                    </telerik:RadToolBarButton>
                                    <telerik:RadToolBarButton ImageUrl="/img/edit-icon.png" ToolTip="<%$ Resources:Resource, editRecord %>" Enabled="false"
                                    CommandName="EditSelected" Visible='<%# rg_chekList.EditIndexes.Count == 0 && !rg_chekList.MasterTableView.IsItemInserted%>' ></telerik:RadToolBarButton>
                                    <telerik:RadToolBarButton CommandName="UpdateEdited" ImageUrl="/img/update.png" ToolTip="<%$ Resources:Resource, updateRecord %>"
                                    Visible='<%# rg_chekList.EditIndexes.Count > 0 %>'></telerik:RadToolBarButton>
                                    <telerik:RadToolBarButton CommandName="PerformInsert" ImageUrl="/img/update.png" ToolTip="<%$ Resources:Resource, okRecord %>"
                                    Visible='<%# rg_chekList.MasterTableView.IsItemInserted %>'>
                                    </telerik:RadToolBarButton>
                                    <telerik:RadToolBarButton CommandName="CancelAll" ImageUrl="/img/cancel.png" ToolTip="<%$ Resources:Resource, cancelRecord %>"
                                    Visible='<%# rg_chekList.EditIndexes.Count > 0 || rg_chekList.MasterTableView.IsItemInserted %>'></telerik:RadToolBarButton>
                                    <telerik:RadToolBarButton CommandName="RebindGrid" ImageUrl="/img/reload-icon.png" ToolTip="<%$ Resources:Resource, refresh %>">
                                    </telerik:RadToolBarButton>
                                    <telerik:RadToolBarButton IsSeparator="true"></telerik:RadToolBarButton>
                                    <telerik:RadToolBarButton CommandName="CopyItem" ImageUrl="/img/copy-icon.png" ToolTip="<%$ Resources:Resource, copyItem %>" Enabled="false">
                                    </telerik:RadToolBarButton>
                                    <telerik:RadToolBarButton CommandName="TranslateGrid_Chek" ImageUrl="/img/Translate.png" ToolTip="<%$ Resources:Resource, translationList %>" Enabled="false">
                                    </telerik:RadToolBarButton>
                                </Items>
                            </telerik:RadToolBar>
                        </CommandItemTemplate>

When the item is disabled Command DONT FIRE !

I never had this problem with version 2013

Is this a BUG?

Please help

4 Answers, 1 is accepted

Sort by
0
Konstantin Dikov
Telerik team
answered on 02 Apr 2015, 06:03 AM
Hello Rasool,

I am not entirely sure if I understand the exact issue that you are facing. If you are referring to the fact that a disabled RadToolBar item will not fire a command when it is disabled, this is the expected behavior and I assume that this is the main reason that you have the logic within your RowSelected handler.

On a side note, I have to say that the OnRowSelected event of the grid will fire only when an item is selected, so you will never the 0 selected items in that event. If you need to disable again the RadToolBar items you have to handle the OnrowDeselected event instead and check if the selected items count is zero.

Hope this helps.


Regards,
Konstantin Dikov
Telerik
 

See What's Next in App Development. Register for TelerikNEXT.

 
0
Rasool
Top achievements
Rank 1
answered on 02 Apr 2015, 02:58 PM
Hello Konstantin Dikov

Apparently you did not read my code carefully.

Toolbar item is disabled first (enabled=false) then I enable this item on RowSelected Item when row selected and item is enabled but when click on item that command not fire.

I 've done it before in the 2013 version.

Please Help me.

Thanks.


0
Rasool
Top achievements
Rank 1
answered on 05 Apr 2015, 06:35 AM

Please help me telerik team

 

Thanks

 

0
Konstantin Dikov
Telerik team
answered on 06 Apr 2015, 05:16 PM
Hello Rasool,

I have read carefully your initial post, but the the description of the issue was not clear enough.

Nevertheless, I have tested to fire a command from an initially disabled item in the RadToolBar and I was able to observe the issue that you are referring to. I will have to forward this to our developers team for further investigation, but for the time being, what I could suggest is that you remove the Enabled="false" from the declaration of your RadToolBarButtons and disable them within the client-side OnGridCreated event instead:
<telerik:RadCodeBlock ID="RadCodeBlock1" runat="server">
    <script type="text/javascript">
        function RowSelected(sender, eventArgs) {
            var grid = sender;
            var radToolBar = $telerik.findControl(grid.get_element(), "rtb_gridOp");
 
            if (grid.get_masterTableView().get_selectedItems().length > 0) {
                radToolBar.get_items().getItem(1).set_enabled(true);
                radToolBar.get_items().getItem(2).set_enabled(true);
                radToolBar.get_items().getItem(5).set_enabled(true);
            }
        }
 
        function GridCreated(sender, args) {
            var grid = sender;
            var radToolBar = $telerik.findControl(grid.get_element(), "rtb_gridOp");
 
            radToolBar.get_items().getItem(1).set_enabled(false);
            radToolBar.get_items().getItem(2).set_enabled(false);
            radToolBar.get_items().getItem(5).set_enabled(false);
        }
    </script>
</telerik:RadCodeBlock>
 
<telerik:RadGrid runat="server" ID="rg_chekList" OnNeedDataSource="RadGrid1_NeedDataSource" OnItemCommand="RadGrid1_ItemCommand">
    <MasterTableView CommandItemDisplay="Top">
        <CommandItemTemplate>
            <telerik:RadToolBar ID="rtb_gridOp" runat="server" AutoPostBack="true" OnClientButtonClicked="buttonClicked">
                <Items>
                    <telerik:RadToolBarButton Text="InitInsert"
                        CommandName="InitInsert" Visible='<%# rg_chekList.EditIndexes.Count == 0 && !rg_chekList.MasterTableView.IsItemInserted %>'>
                    </telerik:RadToolBarButton>
                    <telerik:RadToolBarButton Text="DeleteSelected"
                        CommandName="DeleteSelected" Visible='<%# rg_chekList.EditIndexes.Count == 0 && !rg_chekList.MasterTableView.IsItemInserted%>'>
                    </telerik:RadToolBarButton>
                    <telerik:RadToolBarButton Text="EditSelected"
                        CommandName="EditSelected" Visible='<%# rg_chekList.EditIndexes.Count == 0 && !rg_chekList.MasterTableView.IsItemInserted%>'>
                    </telerik:RadToolBarButton>
                    <telerik:RadToolBarButton Text="UpdateEdited" CommandName="UpdateEdited"
                        Visible='<%# rg_chekList.EditIndexes.Count > 0 %>'>
                    </telerik:RadToolBarButton>
                    <telerik:RadToolBarButton Text="PerformInsert" CommandName="PerformInsert"
                        Visible='<%# rg_chekList.MasterTableView.IsItemInserted %>'>
                    </telerik:RadToolBarButton>
                    <telerik:RadToolBarButton Text="CancelAll" CommandName="CancelAll"
                        Visible='<%# rg_chekList.EditIndexes.Count > 0 || rg_chekList.MasterTableView.IsItemInserted %>'>
                    </telerik:RadToolBarButton>
                    <telerik:RadToolBarButton Text="RebindGrid" CommandName="RebindGrid">
                    </telerik:RadToolBarButton>
                    <telerik:RadToolBarButton IsSeparator="true"></telerik:RadToolBarButton>
                    <telerik:RadToolBarButton Text="CopyItem" CommandName="CopyItem">
                    </telerik:RadToolBarButton>
                    <telerik:RadToolBarButton Text="TranslateGrid_Chek" CommandName="TranslateGrid_Chek">
                    </telerik:RadToolBarButton>
                </Items>
            </telerik:RadToolBar>
        </CommandItemTemplate>
    </MasterTableView>
    <ClientSettings>
        <ClientEvents OnRowSelected="RowSelected" OnGridCreated="GridCreated" />
        <Selecting AllowRowSelect="true" />
    </ClientSettings>
</telerik:RadGrid>

The above seems to do the trick as a temporary workaround.


Regards,
Konstantin Dikov
Telerik
 

See What's Next in App Development. Register for TelerikNEXT.

 
Tags
Grid
Asked by
Rasool
Top achievements
Rank 1
Answers by
Konstantin Dikov
Telerik team
Rasool
Top achievements
Rank 1
Share this question
or