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

grid buttons RTL

1 Answer 19 Views
This is a migrated thread and some comments may be shown as answers.
Top achievements
Rank 1
tg asked on 16 Oct 2018, 08:38 AM


for this demo:

How can I make the buttons ("add new record" + "save changes" + "cancel changes") move from left side to right side of the table, and the start position of the focus (when the table have many cells so it get scrolled to one side at page load) to be on right side of the table instead of left side?


I tried several things that I saw in forums, but it didn't help:

1. adding:  Dir="RTL"  to MasterTableView properties, and to all the <div> i have on the page (also added a div like this right before  the "telerik:RadAjaxLoadingPanel" and before the "telerik:RadListBox").

2. adding to the css file:

.RadMenu_Context_rtl {
    direction: rtl !important;

3. adding rtl to the body tag:

<body dir="rtl">

4. I also didnt use any other css or other stuff, only the demo itself, so I can isolate the problem.

1 Answer, 1 is accepted

Sort by
Telerik team
answered on 18 Oct 2018, 03:56 PM

When the Right-to-Left functionality is enabled, the buttons in the Command menu are actually reordered to be compatible with the RTL direction. The buttons are just positioned on the left side of the grid. You can check the following knowledge base article which explains how to shift the items to the right and put the Refresh button on the left.

Regarding the horizontal scroll position on the grid, you can use the following JavaScript functions to put it below the last cell (in the context of RTL below the first one).

pageLoad event handler:

function pageLoad(sender, args) {
    var grid = $find("<%=RadGrid1.ClientID%>");  // Get the jQeuery object of the Grid
    var master = grid.get_masterTableView();     // Get the master table
    var items = master.get_dataItems();          // Get all items
    var lastItemIndex = items.length - 1;        // Get the last item
    var rowElement = items[0].get_element();     // Get the first row (it does not matter really which row is going to be selected)
    var offset = $(rowElement).find('td')[lastItemIndex].offsetLeft;  // Get the offset of the specific cell (in this case, the last one)
    setScroll(grid, offset);


function setScroll(grid, scrollLeft) {
    var dataDiv = $telerik.findElement(grid.get_element(), grid.get_id() + "_GridData");
    dataDiv.scrollLeft = scrollLeft;  // Set the scroll offset

Let me know if you require further assistance.

Kind regards,
Progress Telerik
Get quickly onboarded and successful with your Telerik and/or Kendo UI products with the Virtual Classroom free technical training, available to all active customers. Learn More.
Asked by
Top achievements
Rank 1
Answers by
Telerik team
Share this question