0

やあ皆さん、私は大変です。チェックボックスのリストを含む radgrid があります。ユーザーがチェックボックスを変更すると、チェックボックスはポストバックを実行し、行のテキストと色を変更します。これを行うと、フォーカスがその行にヤンクされます。したがって、ボックスをチェックしてページの一番上までスクロールすると、一番下に戻ります。フォーカスを変更せず、非同期ポストバックのみを行うようにしたいと思います。

これは、グリッドからプルされたチェックボックスです

 <asp:CheckBox runat="server" ID="isChecked" Checked='<%# Eval("active") %>' AutoPostBack="true"
                                          OnCheckedChanged="CheckChanged" ToolTip="Activate/In-activate relationship between Event and Category" />

これで、チェックボックス コードが内部にあるグリッド全体が表示されます。繰り返しますが、フォーカスの変更を止めたいだけです。ユーザーがボックスのチェックを外して、変更した行にフォーカスが戻ることを心配せずにスクロールできるようにしたいと考えています。

    <telerik:RadGrid ID="RadGrid1" runat="server" AllowPaging="True" AllowSorting="True"
                     CssClass="mdmGrid active" CellSpacing="0" DataSourceID="eventsINcategories" GridLines="None"
                     Width="80%" OnItemDataBound="RadGrid1_ItemDataBound">
        <ClientSettings AllowColumnsReorder="True" ReorderColumnsOnClient="True">
            <Selecting AllowRowSelect="True" />
        </ClientSettings>
        <MasterTableView AutoGenerateColumns="False" DataSourceID="eventsINcategories">
            <CommandItemSettings ExportToPdfText="Export to PDF"></CommandItemSettings>
            <RowIndicatorColumn Visible="True" FilterControlAltText="Filter RowIndicator column">
            </RowIndicatorColumn>
            <ExpandCollapseColumn Visible="True" FilterControlAltText="Filter ExpandColumn column">
            </ExpandCollapseColumn>
            <Columns>
                <telerik:GridTemplateColumn UniqueName="ActiveDisabled" HeaderText="Status" AllowFiltering="false">
                    <ItemTemplate>
                        <asp:CheckBox runat="server" ID="isChecked" Checked='<%# Eval("active") %>' AutoPostBack="true"
                                      OnCheckedChanged="CheckChanged" ToolTip="Activate/In-activate relationship between Event and Category" />
                        <asp:Label ID="Label2" runat="server" ForeColor='<%# (bool)Eval("active") ? System.Drawing.Color.Green : System.Drawing.Color.Red %>'
                                   Text='<%# string.Format("{0}", (bool)Eval("active") ? "Active" : "In-Active") %>'></asp:Label>
                        <asp:Label runat="server" ID="hidd_CategoryID" Text='<%# Eval("categoryID") %>' Style="display: none; color:Red;"></asp:Label>
                        <asp:Label runat="server" ID="hidd_eventID" Text='<%# Eval("eventID") %>' Style="display: none;"></asp:Label>
                        <asp:Label runat="server" ID="hide_EventActivation" Text='<%# DataBinder.Eval(Container.DataItem, "eventActivation") %>' Visible="false"></asp:Label>
                    </ItemTemplate>
                    <ItemStyle Width="100px" />
                </telerik:GridTemplateColumn>
                <telerik:GridBoundColumn DataField="eventDetail" FilterControlAltText="Filter eventDetail column"
                                         HeaderText="Event and Event Codes" ReadOnly="True" SortExpression="eventDetail"
                                         UniqueName="eventDetail">
                    <ItemStyle Width="200px" />
                </telerik:GridBoundColumn>
                <telerik:GridBoundColumn DataField="categoryName" FilterControlAltText="Filter categoryName column"
                                         HeaderText="Category" SortExpression="categoryName" UniqueName="categoryName">
                    <ItemStyle Width="100px" />
                </telerik:GridBoundColumn>
                <telerik:GridTemplateColumn UniqueName="NotifyOptions" HeaderText="Notify Options" AllowFiltering="true" SortExpression="NotifyOptions">
                    <ItemTemplate>
                        <asp:Label ID="notifyOptionsText" runat="server" Text=""></asp:Label>
                        <asp:Label runat="server" ID="notifyEmail" Text='<%# DataBinder.Eval(Container.DataItem, "notifyEmail") %>' Visible="false"></asp:Label>
                        <asp:Label runat="server" ID="notifyTextMessage" Text='<%# DataBinder.Eval(Container.DataItem, "notifyTextMessage") %>' Visible="false"></asp:Label>
                    </ItemTemplate>
                    <ItemStyle Width="100px" />
                </telerik:GridTemplateColumn>
            </Columns>
            <EditFormSettings>
                <EditColumn FilterControlAltText="Filter EditCommandColumn column">
                </EditColumn>
            </EditFormSettings>
            <BatchEditingSettings EditType="Cell" />
            <PagerStyle PageSizeControlType="RadComboBox" AlwaysVisible="true"></PagerStyle>
        </MasterTableView>
        <PagerStyle PageSizeControlType="RadComboBox" />
        <FilterMenu EnableImageSprites="False">
        </FilterMenu>
    </telerik:RadGrid>

皆さんがこれについて提供できる助けをいただければ幸いです。

4

1 に答える 1

0

ここで答えを見つけました

<script type="text/javascript">

var prm = Sys.WebForms.PageRequestManager.getInstance();

prm.add_beginRequest(function() {
    prm._scrollPosition = null;
});

于 2013-08-21T17:53:03.230 に答える