Hello @gumush75!
This is a simple example on how to do this for Ext.NET 4:
<%@ Page Language="C#" %>
<!DOCTYPE html>
<html>
<head runat="server">
<title>v4 - syncScroller</title>
<script type="text/javascript">
var bindScrollers = function () {
App.gp1.getScrollable().getScrollElement().on('scroll', syncScrollers);
App.gp2.getView().setOverflowXY(null,"hidden");
}
var syncScrollers = function (e, target) {
App.gp2.setScrollX(App.gp1.getScrollX());
}
Ext.onReady(bindScrollers);
</script>
</head>
<body>
<form runat="server" id="fm1">
<div>
<ext:ResourceManager runat="server" />
<ext:GridPanel runat="server" Title="Grid 1" ID="gp1" Height="200" Width="500">
<ColumnModel runat="server">
<Columns>
<ext:Column runat="server" Text="Column 1" Width="100" />
<ext:Column runat="server" Text="Column 2" Width="100" />
<ext:Column runat="server" Text="Column 3" Width="100" />
<ext:Column runat="server" Text="Column 4" Width="100" />
<ext:Column runat="server" Text="Column 5" Width="100" />
<ext:Column runat="server" Text="Column 6" Width="100" />
<ext:Column runat="server" Text="Column 7" Width="100" />
<ext:Column runat="server" Text="Column 8" Width="100" />
</Columns>
</ColumnModel>
</ext:GridPanel>
<ext:GridPanel runat="server" Title="Grid 2" ID="gp2" Height="200" Width="500">
<ColumnModel runat="server">
<Columns>
<ext:Column runat="server" Text="Column 1" Width="100" />
<ext:Column runat="server" Text="Column 2" Width="100" />
<ext:Column runat="server" Text="Column 3" Width="100" />
<ext:Column runat="server" Text="Column 4" Width="100" />
<ext:Column runat="server" Text="Column 5" Width="100" />
<ext:Column runat="server" Text="Column 6" Width="100" />
<ext:Column runat="server" Text="Column 7" Width="100" />
<ext:Column runat="server" Text="Column 8" Width="100" />
</Columns>
</ColumnModel>
</ext:GridPanel>
</div>
</form>
</body>
</html>
And here's for v2:
<%@ Page Language="C#" %>
<!DOCTYPE html>
<html>
<head runat="server">
<title>v2 - syncScroller</title>
<script type="text/javascript">
var bindScrollers = function () {
App.gp1.getView().getTargetEl().on('scroll', syncScrollers);
App.gp2.getView().getOverflowEl().setStyle("overflow-x", "hidden");
}
var syncScrollers = function (e, target) {
gp1Handle = App.gp1.getView().getTargetEl()
gp2Handle = App.gp2.getView().getTargetEl()
gp2Handle.scrollTo('left', gp1Handle.getScrollLeft());
}
</script>
</head>
<body>
<form runat="server" id="fm1">
<div>
<ext:ResourceManager runat="server" />
<ext:GridPanel runat="server" Title="Grid 1" ID="gp1" Height="200" Width="500">
<ColumnModel runat="server">
<Columns>
<ext:Column runat="server" Text="Column 1" Width="100" />
<ext:Column runat="server" Text="Column 2" Width="100" />
<ext:Column runat="server" Text="Column 3" Width="100" />
<ext:Column runat="server" Text="Column 4" Width="100" />
<ext:Column runat="server" Text="Column 5" Width="100" />
<ext:Column runat="server" Text="Column 6" Width="100" />
<ext:Column runat="server" Text="Column 7" Width="100" />
<ext:Column runat="server" Text="Column 8" Width="100" />
</Columns>
</ColumnModel>
</ext:GridPanel>
<ext:GridPanel runat="server" Title="Grid 2" ID="gp2" Height="200" Width="500">
<ColumnModel runat="server">
<Columns>
<ext:Column runat="server" Text="Column 1" Width="100" />
<ext:Column runat="server" Text="Column 2" Width="100" />
<ext:Column runat="server" Text="Column 3" Width="100" />
<ext:Column runat="server" Text="Column 4" Width="100" />
<ext:Column runat="server" Text="Column 5" Width="100" />
<ext:Column runat="server" Text="Column 6" Width="100" />
<ext:Column runat="server" Text="Column 7" Width="100" />
<ext:Column runat="server" Text="Column 8" Width="100" />
</Columns>
</ColumnModel>
<Listeners>
<AfterRender Fn="bindScrollers" />
</Listeners>
</ext:GridPanel>
</div>
</form>
</body>
</html>
Hope this helps!