private void BindGridView( string [] tourIds) ... { int selectedRowIndex = 0; int ScrollPosition = 0; if (this.ugrid.ActiveRow != null) ...{ selectedRowIndex = ugrid.DisplayLayout.ActiveRow.Index; ScrollPosition = ugrid.DisplayLayout.RowScrollRegions[0].VisibleRows[0].RowScrollRegion.ScrollPosition; } DataTable dt = displayDataTableMerge(tourIds); if (dt != null && dt.Rows.Count > 0) ...{ this.ugrid.DataSource = dt; this.ugrid.Rows[selectedRowIndex].Activated = true; this.ugrid.DisplayLayout.RowScrollRegions[0].VisibleRows[0].RowScrollRegion.ScrollPosition = ScrollPosition; } } 这个问题让我多次头疼,几经波折才解决了,网上对于这个的介绍几乎没有,发出来方便同仁解决同类问题!