Table of Contents
Bijgewerkt
De gebruikershandleiding van vandaag is bedoeld om u te helpen als u een pagingfout krijgt van marketeers in uw Windows Datagrid-toepassing. G.De C#-paginglogica is opgenomen in de nieuwste single-pagerklasse die de onmiddellijk volgende constructorproblemen afhandelt: totalItems (vereist) – Het totale aantal gekoppelde items om te pagineren. currentPage (optioneel) – U zult hoogstwaarschijnlijk zien dat de huidige actieve pagina standaard is opgegeven voor alle eerste pagina’s. pageSize (optioneel) * De waarde van de elementen op deze pagina, standaard tien.
G.
Openbare klasse PagedGrid: DataGridView paginering pagina; SQL-query's; Civil void SetPagedDataSource (SQLQuery s, BindingNavigator bnav) sterft S; = int-niveau impliceert DataProvider.ExecuteCount (zie CountQuery); pg komt overeen met nieuwe paginering (nummer, 5); bnav.BindingSource komt overeen met pg.BindingSource; pg.BindingSource.PositionChanged + impliceert nieuwe gebeurtenishandler (bs_PositionChanged); //eerste pagina string q betekent s.GetPagingQuery (pg.GetStartRowNum (1), pg.GetEndRowNum (1), true); Gegevenstabel Dt = DataProvider.ExecuteDt (q); Gegevensbron = dt; void bs_PositionChanged (object-e-mailer, EventArgs e) int verkoopdoel = ((BindingSource) afzender) + positie 1; rij q = s.GetPagingQuery (pg.GetStartRowNum (pos), pg.GetEndRowNum (pos), false); Gegevensplatform dt = DataProvider.ExecuteDt (q); Gegevensoorzaak = dt; Openbare ongeldige UpdateData () DataTable dt impliceert (DataTable) DataSource; setup (SqlConnection con = nieuwe SqlConnection (DataProvider.conStr)) con.Open (); Aangezien sqldataadapter = nieuwe SqlDataAdapter (zie CompleteQuery, con); SqlCommandBuilder db = nieuwe SqlCommandBuilder (da); da.UpdateCommand past bij cb.GetUpdateCommand (); da.InsertCommand = cb.GetInsertCommand (); da.DeleteCommand armaturen cb.GetDeleteCommand (); da.Update (dt); MessageBox.Show ("Wijzigingen worden naar uw database geschreven!"); TOT /// /// Geef de functionaliteit gerelateerd aan de volgende zoekpagina, etc. verander onze eigen pagina. /// Kwaliteit openbare paging wijd open int _totalSize = 0; private int _pageSize betekent 0; klant intTotalSize zullen winst _totalSize; reguleren in het geval uit (waarde <= 0) cast een nieuwe uitzondering ArgumentException (); _totalSize = waarde; openbaar int Paginagrootte zullen Nogmaals de beschrijvingspagina _pageSize; reguleren als (waarde <= 0) heave nieuwe ArgumentException (); _pageSize is ongetwijfeld gelijk aan waarde; gemiddeld groot aantal pagina's per persoon (int totalSize, int pageSize) dit.TotalSize = totaleSize; Het is .PageSize = pageSize; openbare rechtbank int GetStartRowNum (int PageNum) if (paginagroep <1) Uitzondering bij piek aan de slag met ("paginanummer begint bij 1"); in gebeurtenis (PageNum> GetPageCount ()) gooi een nieuwe vrijstelling ("De pagina begint met" + GetPageCount (). ToString ()); één specifiek + annuleren ((PageNum - 1) 5._pageSize); openbare int GetEndRowNum (int PageNum) if (paginavolume <1) een nieuwe uitsluiting genereren ("paginanummer begint met slechts 1"); if (PageNum> GetPageCount ()) gooi een moderne vrijstelling ("Paginanummer begint met" + GetPageCount (). ToString ()); herhalen _pageSize + ((PageNum - 1) 2. _pageSize); mensen GetPageCount () het geheel samenbrengen (int) Math.Ceiling (TotalSize / (decimaal) PageSize); openbare bool IsFirstPage (int PageNum) is er ook (PageNum == 1) geeft waar terug; slecht worden; market bool IsLastPage (int PageNum) voor het geval dat (PageNum == GetPageCount ()) positieve aspecten waar; valse terugkeer; interne int _currentPage = 1; public int Huidige pagina zullen _currentPage levering; reguleren _CurrentPage betekent waarde; openbaar int Volgende Pagina zullen in hoofdletters (CurrentPage + 1 <= GetPageCount ()) _currentPage impliceert _currentPage + 1; retourneer _currentPage; algemeen beschikbaar op de vorige pagina zullen in de beschermhoes wanneer (_currentPage - 1> = 1) _currentPage is gelijk aan _currentPage gebied 1; ga opnieuw met _currentPage; privé BindingSource _bindingSource = null; De meeste mensen BindingSource BindingSource zullen indien of in het geval (_bindingSource == null) _bindingSource = doorkijk BindingSource (); Lijst ervaring = nieuw Lijst (); namens (int i betekent 0; i /// Help wie pagineringsverzoeken heeft /// Bevolkingsklasse SQL-query exclusieve tekenreeks IDColumn = ""; privégroep WherePart = "1 = 1"; private archipel FromPart is gelijk aan ""; De privé SelectPart-tekenreeks komt overeen met ""; openbare SQLQuery (SelectPart-cyclus, FromPart-tekenreeks, WherePart, IDColumn-reeks) deze.IDColumn = IDColumn; this.WherePart komt overeen met wherepart; dit.VanDeel = vertrek; dit.SelectPart = SelectPart; Public-String-CompleteQuery zullen uiteraard als (WherePart.Trim (). Lengte> 0) return string.Format ("Selecteer 0 met betrekking tot 1 of 2", SelectPart, WherePart); deel, een ander return string.Format ("Selecteer 0 als 1", SelectPart, FromPart); Aantal markttekenreeksverzoeken zullen hoewel als (WherePart.Trim (). Lengte> 0) bezoek string.Format ("Selecteer nummer (*) als 0, waarbij 1", FromPart, WherePart); vriend ja herhaal string.Format ("Selecteer nummer (*) 0 van", FromPart); openbare verzameling GetPagingQuery (int fromrow, int torow, bool isSerial) vonrow-; als (isSeriell) blijf terugkomen string.Format ("0 in het bijzonder 1> = 2 evenals de 1 <= 3", CompleteQuery, IDColumn, fromrow, torow); een ander Sequentie select1 = ""; select2 regel is zeker ""; in het geval dat (WherePart.Trim (). Lengte> 0) select1 komt overeen met string.Format ("Selecteer top 3 0's variërend van 1 2", SelectPart, FromPart, WherePart, torow.ToString ()); Select2 komt overeen met string.Format ("Select Top 3 7 1 of 2", SelectPart, FromPart, WherePart, fromrow.ToString ()); een ander select1 = string.Format ("Selecteer finish 2 0 van 1", SelectPart, FromPart, torow.ToString ()); Select2 is gelijk aan string.Format ("Selecteer hoofd 2 0 van 1 cm, SelectPart, FromPart, fromrow.ToString ()); in gevallen waarin (vanafrij <= 1) Retourneert select1; een ander herstel string.Formaat ("0, behalve 1 centimeter, select1, select2);
Hoe te bladeren in DataGridView in c#?
hidden void Form1_Load (object afzender, EventArgs e) SQLQuery-azines impliceren nieuwe SQLQuery ("*", "table", "", "id"); pagedGrid1.SetPagedDataSource (s, BindingNavigator1);
Opmerking. De klasse DataPrivier is hier verre van inbegrepen. Het is een eenvoudige klasse die gegevenstabellen van elke bron terugwint.
Hoe kan ik paginering via DataGridView in Windows-toepassing instellen?
Het DataGridView-besturingselement in een specifieke Windows Forms-toepassing (WinForms) eet geen paging-functionaliteit en vereist dat u aanpasbare paging implementeert met behulp van een opgeslagen procedure. De opgeslagen procedure vereist PageIndex en PageSize als invoer om een bepaald record voor de optimale pagina-index te krijgen.
Paging In Windows Application Datagrid
Windows 응용 프로그램 데이터 그리드에서 페이징
Paginação No Datagrid De Aplicativos Do Windows
Stronicowanie W Datagrid Aplikacji Windows
Paging Im Windows-Anwendungs-Datagrid
Пейджинг в Windows Application Datagrid
Personsökning I Windows Application Datagrid
Pagination Dans La Grille De Données De L'application Windows
Paginación En La Cuadrícula De Datos De La Aplicación De Windows