We must encounter when developing. When using DataGrid, we don't want to pagin (there are not so many data) but it is not displayed in a page. At this time, we hope that there is a scroll bar in DataGrid, you can scroll down the data inside DataGrid. No need to scroll the page, because the purpose of writing this article is to explain how to implement, the reader can think about itself (for example: point to scroll, etc.). In order to scroll to DataGrid, we need a Table scrolling JS script that allows the client (the JS code. I downloaded from the CodeProject), but I can't scroll the topic of Table (that is, the first line). We all know that DataGrid will generate a table after explaining the client, but this table is constructed, and our script is required to use Table TAB and TBODY (in most client applications) To this function, such as the client sort, and the column of torch, etc.), so our next task is how to add this DataGrid for our client. If you know about the user's custom control and the principles of the ASP.NET page, we know that the control is finally rendered (render) on the page, so we can override this method to complete the custom rendering of DataGrid. Listening to a little scary, how is the complex control? Don't worry, first we create a custom control as follows: public class powerDataGrid: system.Web.ui.WebControls.dataGrid This can be seen that our control is inherited in DataGrid, so our current control is not written In the case of a line of code, our control already has all the functions of DataGrid. Next, we have to build our JS code into our control, so that the page of the page will eventually have this JS code on the client to complete our scrolling tasks. To do this we need to rewrite the method of pre-rendering: protected override void OnPreRender (System.EventArgs e) {base.OnPreRender (e); ResourceManager manager = new ResourceManager (this.GetType ()); ResourceSet resources = manager.GetResourceSet (System.Globalization.CultureInfo.CurrentCulture, true, true); if (Page.IsClientScriptBlockRegistered ( "SkySword.WebControl.PowerDataGrid Library")!) {String script = resources.GetString ( "ScrollTable"); this.Page.RegisterClientScriptBlock ( "SkySword.WebControl.PowerDataGrid Library", script); this.Page.RegisterStartupScript ( "SkySword.WebControls.PowerDataGrid Init", "