class= " lineNumbers " del
1:
2:
3:
4:
5:
6:
7:
8:
9:
10:
11:
12:
13:
14:
15:
16:
17:
18:
19:
20:
21:
22:
23:
24:
25:
26:
27:
28:
29:
30:
31:
32:
33:
34:
35:
36:
37:
38:
39:
40:
41:
42:
43:
44:
45:
46:
47:
48:
49:
50:
51:
52:
53:
54:
55:
56:
57:
58:
59:
60:
61:
62:
63:
64:
65:
66:
67:
68:
69:
70:
71:
72:
73:
74:
75:
76:
77:
78:
79:
80:
81:
82:
83:
84:
85:
86:
87:
88:
89:
90:
91:
92:
93:
94:
95:
96:
97:
98:
99:
100:
101:
102:
103:
104:
105:
106:
107:
108:
109:
110:
111:
112:
113:
114:
115:
116:
117:
118:
119:
120:
121:
122:
123:
124:
125:
126:
127:
128:
129:
130:
131:
132:
133:
134:
135:
136:
137:
138:
139:
140:
141:
142:
143:
144:
145:
146:
147:
148:
149:
150:
151:
152:
153:
154:
155:
156:
157:
158:
159:
160:
161:
162:
163:
164:
165:
166:
167:
168:
169:
170:
171:
172:
173:
174:
175:
176:
177:
178:
179:
180:
181:
182:
183:
184:
185:
186:
187:
188:
189:
190:
191:
192:
193:
194:
195:
196:
197:
198:
199:
200:
201:
202:
203:
204:
205:
206:
207:
208:
209:
210:
211:
212:
213:
214:
215:
216:
217:
218:
219:
220:
221:
222:
223:
224:
225:
226:
227:
228:
229:
230:
231:
232:
233:
234:
235:
236:
237:
238:
239:
240:
241:
242:
243:
244:
245:
246:
247:
248:
249:
250:
251:
252:
253:
254:
255:
256:
257:
258:
259:
260:
261:
262:
263:
264:
265:
266:
267:
|
class= del
sistema >using notpretty " del class= " del id= " codeSnippet810186 del di ///
/// questo controllo su ordinazione genererà un gridview con un'intestazione e un'abitudine di galleggiamento che paginano per restituire soltanto il numero delle file per pagina.
///
comandi del namespace
{
codice categoria pubblico ScrollPageGridView: System.Web.UI.WebControls.GridView
{
Proprietà di #region
Int32 riservato che pagesPerGrouping = 10;
stringa pubblica PagerBackColor {ottenere; insieme; }
unità pubblica GridHeight {ottenere; insieme; }
unità pubblica GridWidth {ottenere; insieme; }
pubblico Int32 TotalRows {ottenere; insieme; }
pubblico Int32 PagesPerGrouping
{
ottenere
{
restituire pagesPerGrouping;
}
regolar
{
Int32 macerano = 10;
Int32.TryParse (value.ToString (), fuori macerano);
pagesPerGrouping = macera;
}
}
#endregion
evento pubblico EventHandler GridViewPageChangedCustom;
vuoto protettivo della provvigione supplementare OnInit (EventArgs e)
{
base.OnInit (e);
Th di HtmlTableCell = GeneratePaging (“Th„);
}
#region ScrollPageGridView ()
ScrollPageGridView pubblico () {}
#endregion
#region CalculateWidth ()
stringa riservata CalculateWidth ()
{
strWidth della stringa = “automobile„;
se (! this.GridWidth.IsEmpty)
{
strWidth = String.Format (“{0} {1}„, this.GridWidth.Value, ((== UnitType.Percentage di this.GridWidth.Type)? “%„: “px„));
}
strWidth di ritorno;
}
#endregion
#region CalculateHeight ()
stringa riservata CalculateHeight ()
{
strHeight della stringa = “200px„;
se (! this.GridHeight.IsEmpty)
{
strHeight = String.Format (“{0} {1}„, this.GridHeight.Value, ((== UnitType.Percentage di this.GridHeight.Type)? “%„: “px„));
}
strHeight di ritorno;
}
#endregion
Il #region rende
il vuoto protettivo della provvigione supplementare rende (produttore di HtmlTextWriter)
{
// rende la fila dell'intestazione.
se (this.HeaderRow! = posizione di segnale minimo)
{
customHeader di GridViewRow = this.HeaderRow;
produttore. Scrivere (“il border= ");
customHeader.ApplyStyle (this.HeaderStyle);
se (== di AutoGenerateColumns falso)
{
// rimuove le cellule attuali dall'intestazione.
per (int J = customHeader.Cells.Count - 1; >= 0 di J; J--)
{
se (questo. Colonne [J]. == visibile falso)
customHeader.Cells.RemoveAt (j);
}
Int32 i = 0;
foreach (colonna di DataControlField in questo. Colonne)
{
se (colonna. == visibile allineare)
{
customHeader.Cells [i] .ApplyStyle (col.HeaderStyle);
i++;
}
}
}
customHeader.RenderControl (produttore);
produttore. Scrivere (“ ");
this.HeaderRow.Visible = falso;
}
// rende le file di dati.
Inizio di // la modifica di divisione per il gridview di scrolling.
produttore. Scrivere (“id= del ");
// ottiene la fila dell'impaginatore e rende invisibile.
customPager di GridViewRow = this.BottomPagerRow;
se (this.BottomPagerRow! = posizione di segnale minimo)
{
this.BottomPagerRow.Visible = falso;
}
base. Rendere (produttore);
produttore. Scrivere (“ ");
// rende la fila dell'impaginatore.
se (customPager! = posizione di segnale minimo)
{
produttore. Scrivere (“cellspacing='" ");
customPager.ApplyStyle (this.PagerStyle);
customPager.Visible = allineano;
customPager.RenderControl (produttore);
produttore. Scrivere (“ ");
produttore. Scrivere (“il border= ");
produttore. Scrivere (“style= \ “priorità-colore del ");
Th di HtmlTableCell = GeneratePaging (“Th„);
th.RenderControl (produttore);
produttore. Scrivere (“");
produttore. Scrivere (“ ");
}
}
#endregion
#region GeneratePaging ()
di ///
/// genera i numeri di pagina sulla griglia.
///
HtmlTableCell riservato GeneratePaging (stringa TableCellType)
{
prova
{
Th di HtmlTableCell = nuovo HtmlTableCell (TableCellType);
Th. Attributes.Add (“portata„, “colonna„);
Th. Attributes.Add (“stile„, “larghezza: 400px; testo-allineare: di sinistra; ");
//int che pagesPerGrouping = PagesPerGrouping;
il int fontSize = 10;
totRows di int = 0;
numPages di int = 1;
gridActSelectedPage di int = 1;
curPageGroup di int = 1;
startPageForGroup di int;
endPageForGroup di int;
litSep della stringa = “ „;
// ottiene il numero delle file totale che sono state restituite dal DB.
totRows = this.TotalRows;
// ottiene la corrente dell'indice delle pagine.
se (this.ViewState [“gv„ + this.ID + “dell'indice delle pagine„]! = posizione di segnale minimo)
gridActSelectedPage = Convert.ToInt32 (this.ViewState [“gv„ + this.ID + “dell'indice delle pagine„]) + 1; Dell'indice delle pagine reale di //, dell'indice delle pagine è 0 basato;
// elimina fuori tutti i comandi attuali.
Th. Controls.Clear ();
// ha basato sul numero delle file nel DataView ed il numero degli articoli per pagina nella griglia calcola fuori il numero delle pagine state necessarie.
numPages = Convert.ToInt32 (Math.Ceiling (Convert.ToDouble)/Convert.ToDouble (this.PageSize) (dei totRows));
Disaccordo di // la pagina corrente dal numero delle pagine per raggruppamento da trovare fuori in cui raggruppare siamo.
// sottrae 1 dalla pagina corrente che raggruppa, moltiplica per le pagine per raggruppamento ed allora aggiunge 1 per ottenere la pagina cominciante per il gruppo.
curPageGroup = Convert.ToInt32 (Math.Ceiling (Convert.ToDecimal)/Convert.ToDecimal (pagesPerGrouping) (di gridActSelectedPage));
startPageForGroup = ((curPageGroup - 1) * che pagesPerGrouping) + 1;
// ottiene l'ultima pagina nel gruppo della pagina.
endPageForGroup = (startPageForGroup + pagesPerGrouping - 1 < numPages? startPageForGroup + pagesPerGrouping - 1: numPages);
// aggiunge i tasti del nav della pagina quando ci sono più pagine allora che cosa può mostrare sullo schermo.
se (startPageForGroup! = 1)
{
Lnk di LinkButton = nuovo LinkButton ();
lnk.ID = “lbl„ + this.ID + “pagina„ + (startPageForGroup - 1).ToString ();
lnk. Testo = “<<„;
lnk.CommandArgument = (startPageForGroup - 1).ToString ();
lnk. Font.Size = FontUnit.Point (fontSize);
lnk. Scatto += nuovo EventHandler (gvPage_Click);
Th. Controls.Add (lnk);
// aggiunge un separatore fra i numeri di pagina.
litSeparator letterale = nuova costante letterale ();
litSeparator.Text = litSep;
litSeparator.ID = “litSeparatorLT„;
Th. Controls.Add (litSeparator);
}
Il ciclo di // attraverso la pagina attiva ha fissato e visualizza i numeri attraverso la persona alta un dato numero di piedi.
per (int i = startPageForGroup; endPageForGroup del <= i; i++)
{
// per il disable della pagina attiva il collegamento.
Lnk di LinkButton = nuovo LinkButton ();
lnk.ID = “lbl„ + this.ID + “pagina„ + i.ToString ();
lnk. Testo = i.ToString ();
lnk.CommandArgument = i.ToString ();
lnk. Font.Size = FontUnit.Point (fontSize);
se (gridActSelectedPage del == di i)
{
lnk. Permesso a = falso;
}
altrimenti
{
lnk. Scatto += nuovo EventHandler (gvPage_Click);
lnk. Ordine += nuovo CommandEventHandler (gvPage_Command);
}
Th. Controls.Add (lnk);
// aggiunge un separatore fra i numeri di pagina.
litSeparator letterale = nuova costante letterale ();
litSeparator.Text = litSep;
litSeparator.ID = “litSeparator„ + i.ToString ();
Th. Controls.Add (litSeparator);
}
// se il numero delle pagine totali è più del raggruppamento allora messo in >> per la navigazione.
se (numPages > endPageForGroup)
{
Lnk di LinkButton = nuovo LinkButton ();
lnk.ID = “lbl„ + this.ID + “pagina„ + (endPageForGroup + 1).ToString ();
lnk. Testo = “>>„;
lnk.CommandArgument = (endPageForGroup + 1).ToString ();
lnk. Font.Size = FontUnit.Point (fontSize);
lnk. Scatto += nuovo EventHandler (gvPage_Click);
Th. Controls.Add (lnk);
}
Th di ritorno;
}
fermo (eccezione)
{
tiro;
}
}
#endregion
gvPage_Click di #region
gvPage_Click vuoto riservato (mittente dell'oggetto, EventArgs e)
{
se (GridViewPageChangedCustom! = posizione di segnale minimo)
{
GridViewPageChangedCustom (questo, nuovo EventArgs ());
}
}
#endregion
}
}
|