2 * Namespace: System.Web.UI.WebControls
\r
3 * Class: DataGridPagerStyle
\r
5 * Author: Gaurav Vaish
\r
6 * Maintainer: gvaish@iitk.ac.in
\r
7 * Contact: <my_scripts2001@yahoo.com>, <gvaish@iitk.ac.in>
\r
8 * Implementation: yes
\r
11 * (C) Gaurav Vaish (2002)
\r
16 using System.Web.UI;
\r
18 namespace System.Web.UI.WebControls
\r
20 public sealed class DataGridPagerStyle : TableItemStyle
\r
24 private static int MODE = (0x01 << 19);
\r
25 private static int NEXT_PG_TEXT = (0x01 << 20);
\r
26 private static int PG_BTN_COUNT = (0x01 << 21);
\r
27 private static int POSITION = (0x01 << 22);
\r
28 private static int VISIBLE = (0x01 << 23);
\r
29 private static int PREV_PG_TEXT = (0x01 << 24);
\r
31 internal DataGridPagerStyle(DataGrid owner): base()
\r
36 internal bool IsPagerOnTop
\r
39 PagerPosition p = Position;
\r
40 return (p == PagerPosition.Top || p == PagerPosition.TopAndBottom);
\r
44 internal bool IsPagerOnBottom
\r
47 PagerPosition p = Position;
\r
48 return (p == PagerPosition.Bottom || p == PagerPosition.TopAndBottom);
\r
52 public PagerMode Mode
\r
58 return (PagerMode)ViewState["Mode"];
\r
60 return PagerMode.NextPrev;
\r
64 if(!Enum.IsDefined(typeof(PagerMode), value))
\r
66 throw new NotImplementedException();
\r
68 ViewState["Mode"] = value;
\r
73 public string NextPageText
\r
77 if(IsSet(NEXT_PG_TEXT))
\r
79 return (string)ViewState["NextPageText"];
\r
85 ViewState["NextPageText"] = value;
\r
90 public string PrevPageText
\r
94 if(IsSet(PREV_PG_TEXT))
\r
96 return (string)ViewState["PrevPageText"];
\r
102 ViewState["PrevPageText"] = value;
\r
107 public int PageButtonCount
\r
111 if(IsSet(PG_BTN_COUNT))
\r
113 return (int)ViewState["PageButtonCount"];
\r
119 ViewState["PageButtonCount"] = value;
\r
124 public PagerPosition Position
\r
128 if(IsSet(POSITION))
\r
130 return (PagerPosition)ViewState["Position"];
\r
132 return PagerPosition.Bottom;
\r
136 if(!Enum.IsDefined(typeof(PagerPosition), value))
\r
138 throw new ArgumentException();
\r
140 ViewState["Position"] = value;
\r
145 public bool Visible
\r
151 return (bool)ViewState["Visible"];
\r
157 ViewState["Visible"] = value;
\r
162 public override void CopyFrom(Style s)
\r
164 if(s != null && !s.IsEmpty && s is DataGridPagerStyle)
\r
167 DataGridPagerStyle from = (DataGridPagerStyle)s;
\r
168 if(from.IsSet(MODE))
\r
172 if(from.IsSet(NEXT_PG_TEXT))
\r
174 NextPageText = from.NextPageText;
\r
176 if(from.IsSet(PG_BTN_COUNT))
\r
178 PageButtonCount = from.PageButtonCount;
\r
180 if(from.IsSet(POSITION))
\r
182 Position = from.Position;
\r
184 if(from.IsSet(VISIBLE))
\r
186 Visible = from.Visible;
\r
188 if(from.IsSet(PREV_PG_TEXT))
\r
190 PrevPageText = from.PrevPageText;
\r
195 public override void MergeWith(Style s)
\r
197 if(s != null && !s.IsEmpty && s is DataGridPagerStyle)
\r
200 DataGridPagerStyle with = (DataGridPagerStyle)s;
\r
201 if(with.IsSet(MODE) && !IsSet(MODE))
\r
205 if(with.IsSet(NEXT_PG_TEXT) && !IsSet(NEXT_PG_TEXT))
\r
207 NextPageText = with.NextPageText;
\r
209 if(with.IsSet(PG_BTN_COUNT) && !IsSet(PG_BTN_COUNT))
\r
211 PageButtonCount = with.PageButtonCount;
\r
213 if(with.IsSet(POSITION) && !IsSet(POSITION))
\r
215 Position = with.Position;
\r
217 if(with.IsSet(VISIBLE) && !IsSet(VISIBLE))
\r
219 Visible = with.Visible;
\r
221 if(with.IsSet(PREV_PG_TEXT) && !IsSet(PREV_PG_TEXT))
\r
223 PrevPageText = with.PrevPageText;
\r
228 public override void Reset()
\r
232 ViewState.Remove("Mode");
\r
234 if(IsSet(NEXT_PG_TEXT))
\r
236 ViewState.Remove("NextPageText");
\r
238 if(IsSet(PG_BTN_COUNT))
\r
240 ViewState.Remove("PageButtonCount");
\r
242 if(IsSet(POSITION))
\r
244 ViewState.Remove("Position");
\r
248 ViewState.Remove("Visible");
\r
250 if(IsSet(PREV_PG_TEXT))
\r
252 ViewState.Remove("PrevPageText");
\r