How to generate scroll bars in DataGrid without scrolling the head

zhaozj2021-02-16  64

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 composed of , our script is required to use Table Thet and Tbody (in most customers This feature is used in the application, such as: the client's sort, and the column of torch, etc.), so our next task is how to add to our client's DataGrid. 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. In order to complete this work we have to rewrite pre-presented methods: protected override void onprender (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 ","