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

Frozen Columns problems on mobile (dragging/swiping related)

0 Answers 19 Views
Grid
This is a migrated thread and some comments may be shown as answers.
Thomas
Top achievements
Rank 1
Thomas asked on 18 Sep 2017, 09:19 PM
I have a fairly standard grid, nothing fancy. My company made our own custom control derived from the RadGrid. So the example I'm providing will reflect that. 

<Efficio:EfficioGridView runat="server" ID="grdIncrease" AllowSorting="True" RetainDataInViewState="True">
    <MasterTableView Width="100%">
        <Columns>
            <Efficio:EfficioGridTemplateColumn HeaderText="Account" HeaderStyle-HorizontalAlign="Left" ItemStyle-HorizontalAlign="Left" SortExpression="AdvertiserName">
                <ItemTemplate>
                    <asp:HyperLink CssClass="ListLineCEL" ID="lnkAdvertizer" NavigateUrl='<%# "/Efficio/Account/AccountSummary.aspx?aid=" + DataBinder.Eval(Container.DataItem, "advertiserguid") %>' Text='<%# DataBinder.Eval(Container.DataItem, "advertisername") %>' runat="server" />
                </ItemTemplate>
            </Efficio:EfficioGridTemplateColumn>
            <Efficio:EfficioGridTemplateColumn HeaderText="This Year" HeaderStyle-HorizontalAlign="Right" ItemStyle-HorizontalAlign="Right" SortExpression="ThisYearAmount" DataType="System.Int32">
                <ItemTemplate>
                    <%# Common.Utilities.FormatMoney(Convert.ToString(DataBinder.Eval(Container.DataItem, "ThisYearAmount")), true)%>
                </ItemTemplate>
            </Efficio:EfficioGridTemplateColumn>
            <Efficio:EfficioGridTemplateColumn HeaderText="Last Year" HeaderStyle-HorizontalAlign="Right" ItemStyle-HorizontalAlign="Right" SortExpression="LastYearAmount" DataType="System.Int32">
                <ItemTemplate>
                    <%# Common.Utilities.FormatMoney(Convert.ToString(DataBinder.Eval(Container.DataItem, "LastYearAmount")), true)%>
                </ItemTemplate>
            </Efficio:EfficioGridTemplateColumn>
            <Efficio:EfficioBoundDifferenceColumn HeaderText="$ Diff" DataField="DiffAmount" SortExpression="DiffAmount" DifferenceType="Money" HeaderStyle-HorizontalAlign="Right" ItemStyle-HorizontalAlign="Right" DataType="System.Int32">
            </Efficio:EfficioBoundDifferenceColumn>
            <Efficio:EfficioBoundDifferenceColumn HeaderText="% Diff" DataField="PercentAmount" SortExpression="PercentAmount" DifferenceType="Percentage" HeaderStyle-HorizontalAlign="Right" ItemStyle-HorizontalAlign="Right" DataType="System.Int32">
            </Efficio:EfficioBoundDifferenceColumn>
        </Columns>
    </MasterTableView>
</Efficio:EfficioGridView>

In my code behind, I'm using mobile detection and enabling all the standard stuff for frozen columns:

if (State.IsMobileDevice(Page.Request.UserAgent))
{
    grdIncrease.ClientSettings.Scrolling.AllowScroll = true;
    grdIncrease.ClientSettings.Scrolling.UseStaticHeaders = true;
    grdIncrease.ClientSettings.Scrolling.FrozenColumnsCount = 1;
    grdIncrease.MasterTableView.TableLayout = GridTableLayout.Fixed;
    grdIncrease.HeaderStyle.Width = 200;
}

The end result is this. The scrollbar at the bottom scrolls through the locked columns as expected. But when I drag or swipe within the grid body, the static headers don't move at all and the frozen columns do not stay frozen. Its like the grid content is scrolling around in the direction I drag or swipe my finger and does not stay lined up with the headers at all. 

No answers yet. Maybe you can help?

Tags
Grid
Asked by
Thomas
Top achievements
Rank 1
Share this question
or