在Gridview中选择一个项目后,它总是返回到gridview的顶部

时间:2013-06-19 11:29:56

标签: c# asp.net datagrid

我有GridView控件。代码如下。它允许行选择。问题是,当我向下滚动这个GridView并选择一些底行时,会发生选择,但整个GridView会滚动回顶部。 enyone知道如何避免这种情况吗?

<div style="overflow: scroll; width: 100%; height: 350px">   
<asp:GridView id="GridView1" runat="server" Width="754px" OnRowDataBound="GridView1_RowDataBound"     DataKeyNames="UniqueID" GridLines="None" ForeColor="#333333" EmptyDataText="There are no data records to display."  DataSourceID="sdsMapsAdd" CellPadding="4" AutoGenerateColumns="False" AllowSorting="True" AllowPaging="False"  OnRowCommand="GridView1_RowCommand" OnSelectedIndexChanged="GridView1_SelectedIndexChanged">
<FooterStyle BackColor="#5D7B9D" Font-Bold="True" ForeColor="White" />
<Columns>
<asp:CommandField ShowSelectButton="True" />
<asp:BoundField DataField="ID" HeaderText="ID" ReadOnly="True" SortExpression="UniqueID" Visible="false"   />
<asp:BoundField DataField="Name" HeaderText="Name"  ReadOnly="True" SortExpression="SiteName" />
<asp:BoundField DataField="Address" HeaderText="Address" SortExpression="Address" />
</Columns>
<RowStyle BackColor="#F7F6F3" ForeColor="#333333" />
<EditRowStyle BackColor="#999999" />
<SelectedRowStyle BackColor="#E2DED6" Font-Bold="True" ForeColor="#333333" />
<PagerStyle BackColor="#284775" ForeColor="White" HorizontalAlign="Center" />
<HeaderStyle BackColor="#5D7B9D" Font-Bold="True" ForeColor="White"  />
<AlternatingRowStyle BackColor="White" ForeColor="#284775" />
</asp:GridView>
</div>

谢谢&amp;问候 护理职业

2 个答案:

答案 0 :(得分:1)

通常在页面上将maintainScrollPositionOnPostBack设置为true,但div具有用于处理滚动的内联样式。

看看以下内容: Maintain Scroll Bar position of a div within a gridview after a PostBack

答案 1 :(得分:0)

I have resolved this issue by using the below code.   
<div style="overflow: scroll; width: 100%; height: 350px" id= 'scrollDiv'>
<script type="text/javascript">
var xPos, yPos;
var prm = Sys.WebForms.PageRequestManager.getInstance();
prm.add_beginRequest(BeginRequestHandler);
prm.add_endRequest(EndRequestHandler);
function BeginRequestHandler(sender, args) {
    xPos = $get('scrollDiv').scrollLeft;
    yPos = $get('scrollDiv').scrollTop;
}
function EndRequestHandler(sender, args) {
    $get('scrollDiv').scrollLeft = xPos;
    $get('scrollDiv').scrollTop = yPos;
}
</script>

Now I need to fix headers in gridview when I scroll down the gridview then headers are not visible. Please advice