Code:
/ DotNET / DotNET / 8.0 / untmp / whidbey / REDBITS / ndp / fx / src / Designer / WebForms / System / Web / UI / Design / WebControls / ListControls / DataGridPagingPage.cs / 1 / DataGridPagingPage.cs
//------------------------------------------------------------------------------ //// Copyright (c) Microsoft Corporation. All rights reserved. // //----------------------------------------------------------------------------- namespace System.Web.UI.Design.WebControls.ListControls { using System; using System.Design; using System.Collections; using System.Globalization; using System.ComponentModel; using System.Diagnostics; using System.Drawing; using System.Web.UI.Design.Util; using System.Web.UI.WebControls; using System.Windows.Forms; using DataGrid = System.Web.UI.WebControls.DataGrid; using CheckBox = System.Windows.Forms.CheckBox; using Label = System.Windows.Forms.Label; using ListBox = System.Windows.Forms.ListBox; using TextBox = System.Windows.Forms.TextBox; ////// /// The Pagin page for the DataGrid control /// ///[System.Security.Permissions.SecurityPermission(System.Security.Permissions.SecurityAction.Demand, Flags=System.Security.Permissions.SecurityPermissionFlag.UnmanagedCode)] internal sealed class DataGridPagingPage : BaseDataListPage { private const int IDX_POS_TOP = 0; private const int IDX_POS_BOTTOM = 1; private const int IDX_POS_TOPANDBOTTOM = 2; private const int IDX_MODE_PAGEBUTTONS = 0; private const int IDX_MODE_PAGENUMBERS = 1; private CheckBox allowPagingCheck; private NumberEdit pageSizeEdit; private CheckBox visibleCheck; private ComboBox posCombo; private ComboBox modeCombo; private TextBox nextPageTextEdit; private TextBox prevPageTextEdit; private NumberEdit pageButtonCountEdit; private CheckBox allowCustomPagingCheck; /// protected override string HelpKeyword { get { return "net.Asp.DataGridProperties.Paging"; } } /// /// /// Creates the UI of the page. /// private void InitForm() { GroupLabel pagingGroup = new GroupLabel(); this.allowPagingCheck = new CheckBox(); this.allowCustomPagingCheck = new CheckBox(); Label pageSizeLabel = new Label(); this.pageSizeEdit = new NumberEdit(); Label miscLabel = new Label(); GroupLabel navigationGroup = new GroupLabel(); this.visibleCheck = new CheckBox(); Label pagingPosLabel = new Label(); this.posCombo = new ComboBox(); Label pagingModeLabel = new Label(); this.modeCombo = new ComboBox(); Label nextPageLabel = new Label(); this.nextPageTextEdit = new TextBox(); Label prevPageLabel = new Label(); this.prevPageTextEdit = new TextBox(); Label pageButtonCountLabel = new Label(); this.pageButtonCountEdit = new NumberEdit(); pagingGroup.SetBounds(4, 4, 431, 16); pagingGroup.Text = SR.GetString(SR.DGPg_PagingGroup); pagingGroup.TabStop = false; pagingGroup.TabIndex = 0; allowPagingCheck.SetBounds(12, 24, 180, 16); allowPagingCheck.Text = SR.GetString(SR.DGPg_AllowPaging); allowPagingCheck.TextAlign = ContentAlignment.MiddleLeft; allowPagingCheck.TabIndex = 1; allowPagingCheck.FlatStyle = FlatStyle.System; allowPagingCheck.CheckedChanged += new EventHandler(this.OnCheckChangedAllowPaging); allowCustomPagingCheck.SetBounds(220, 24, 180, 16); allowCustomPagingCheck.Text = SR.GetString(SR.DGPg_AllowCustomPaging); allowCustomPagingCheck.TextAlign = ContentAlignment.MiddleLeft; allowCustomPagingCheck.TabIndex = 2; allowCustomPagingCheck.FlatStyle = FlatStyle.System; allowCustomPagingCheck.CheckedChanged += new EventHandler(this.OnCheckChangedAllowCustomPaging); pageSizeLabel.SetBounds(12, 50, 100, 14); pageSizeLabel.Text = SR.GetString(SR.DGPg_PageSize); pageSizeLabel.TabStop = false; pageSizeLabel.TabIndex = 3; pageSizeEdit.SetBounds(112, 46, 40, 24); pageSizeEdit.TabIndex = 4; pageSizeEdit.AllowDecimal = false; pageSizeEdit.AllowNegative = false; pageSizeEdit.TextChanged += new EventHandler(this.OnTextChangedPageSize); miscLabel.SetBounds(158, 50, 80, 14); miscLabel.Text = SR.GetString(SR.DGPg_Rows); miscLabel.TabStop = false; miscLabel.TabIndex = 5; navigationGroup.SetBounds(4, 78, 431, 14); navigationGroup.Text = SR.GetString(SR.DGPg_NavigationGroup); navigationGroup.TabStop = false; navigationGroup.TabIndex = 6; visibleCheck.SetBounds(12, 100, 260, 16); visibleCheck.Text = SR.GetString(SR.DGPg_Visible); visibleCheck.TextAlign = ContentAlignment.MiddleLeft; visibleCheck.TabIndex = 7; visibleCheck.FlatStyle = FlatStyle.System; visibleCheck.CheckedChanged += new EventHandler(this.OnCheckChangedVisible); pagingPosLabel.SetBounds(12, 122, 150, 14); pagingPosLabel.Text = SR.GetString(SR.DGPg_Position); pagingPosLabel.TabStop = false; pagingPosLabel.TabIndex = 8; posCombo.SetBounds(12, 138, 144, 21); posCombo.TabIndex = 9; posCombo.DropDownStyle = ComboBoxStyle.DropDownList; posCombo.Items.AddRange(new object[] { SR.GetString(SR.DGPg_Pos_Top), SR.GetString(SR.DGPg_Pos_Bottom), SR.GetString(SR.DGPg_Pos_TopBottom) }); posCombo.SelectedIndexChanged += new EventHandler(this.OnPagerChanged); pagingModeLabel.SetBounds(12, 166, 150, 14); pagingModeLabel.Text = SR.GetString(SR.DGPg_Mode); pagingModeLabel.TabStop = false; pagingModeLabel.TabIndex = 10; modeCombo.SetBounds(12, 182, 144, 64); modeCombo.TabIndex = 11; modeCombo.DropDownStyle = ComboBoxStyle.DropDownList; modeCombo.Items.AddRange(new object[] { SR.GetString(SR.DGPg_Mode_Buttons), SR.GetString(SR.DGPg_Mode_Numbers) }); modeCombo.SelectedIndexChanged += new EventHandler(this.OnPagerChanged); nextPageLabel.SetBounds(12, 210, 200, 14); nextPageLabel.Text = SR.GetString(SR.DGPg_NextPage); nextPageLabel.TabStop = false; nextPageLabel.TabIndex = 12; nextPageTextEdit.SetBounds(12, 226, 144, 24); nextPageTextEdit.TabIndex = 13; nextPageTextEdit.TextChanged += new EventHandler(this.OnPagerChanged); prevPageLabel.SetBounds(220, 210, 200, 14); prevPageLabel.Text = SR.GetString(SR.DGPg_PrevPage); prevPageLabel.TabStop = false; prevPageLabel.TabIndex = 14; prevPageTextEdit.SetBounds(220, 226, 140, 24); prevPageTextEdit.TabIndex = 15; prevPageTextEdit.TextChanged += new EventHandler(this.OnPagerChanged); pageButtonCountLabel.SetBounds(12, 254, 200, 14); pageButtonCountLabel.Text = SR.GetString(SR.DGPg_ButtonCount); pageButtonCountLabel.TabStop = false; pageButtonCountLabel.TabIndex = 16; pageButtonCountEdit.SetBounds(12, 270, 40, 24); pageButtonCountEdit.TabIndex = 17; pageButtonCountEdit.AllowDecimal = false; pageButtonCountEdit.AllowNegative = false; pageButtonCountEdit.TextChanged += new EventHandler(this.OnPagerChanged); this.Text = SR.GetString(SR.DGPg_Text); this.AccessibleDescription = SR.GetString(SR.DGPg_Desc); this.Size = new Size(464, 300); this.CommitOnDeactivate = true; this.Icon = new Icon(this.GetType(), "DataGridPagingPage.ico"); this.Controls.Clear(); this.Controls.AddRange(new Control[] { pageButtonCountEdit, pageButtonCountLabel, prevPageTextEdit, prevPageLabel, nextPageTextEdit, nextPageLabel, modeCombo, pagingModeLabel, posCombo, pagingPosLabel, visibleCheck, navigationGroup, miscLabel, pageSizeEdit, pageSizeLabel, allowCustomPagingCheck, allowPagingCheck, pagingGroup }); } ////// /// Initializes the page before it can be loaded with the component. /// private void InitPage() { pageSizeEdit.Clear(); visibleCheck.Checked = false; posCombo.SelectedIndex = -1; modeCombo.SelectedIndex = -1; nextPageTextEdit.Clear(); prevPageTextEdit.Clear(); } ////// /// Loads the component into the page. /// protected override void LoadComponent() { InitPage(); DataGrid dataGrid = (DataGrid)GetBaseControl(); DataGridPagerStyle pagerStyle = dataGrid.PagerStyle; allowPagingCheck.Checked = dataGrid.AllowPaging; allowCustomPagingCheck.Checked = dataGrid.AllowCustomPaging; pageSizeEdit.Text = (dataGrid.PageSize).ToString(NumberFormatInfo.CurrentInfo); visibleCheck.Checked = pagerStyle.Visible; switch (pagerStyle.Mode) { case PagerMode.NextPrev: modeCombo.SelectedIndex = IDX_MODE_PAGEBUTTONS; break; case PagerMode.NumericPages: modeCombo.SelectedIndex = IDX_MODE_PAGENUMBERS; break; } switch (pagerStyle.Position) { case PagerPosition.Bottom: posCombo.SelectedIndex = IDX_POS_BOTTOM; break; case PagerPosition.Top: posCombo.SelectedIndex = IDX_POS_TOP; break; case PagerPosition.TopAndBottom: posCombo.SelectedIndex = IDX_POS_TOPANDBOTTOM; break; } nextPageTextEdit.Text = pagerStyle.NextPageText; prevPageTextEdit.Text = pagerStyle.PrevPageText; pageButtonCountEdit.Text = (pagerStyle.PageButtonCount).ToString(NumberFormatInfo.CurrentInfo); UpdateEnabledVisibleState(); } ////// /// private void OnCheckChangedAllowCustomPaging(object source, EventArgs e) { if (IsLoading()) return; SetDirty(); } ////// /// private void OnCheckChangedAllowPaging(object source, EventArgs e) { if (IsLoading()) return; SetDirty(); UpdateEnabledVisibleState(); } ////// /// Handles changes made to the pager visibility. /// private void OnCheckChangedVisible(object source, EventArgs e) { if (IsLoading()) return; SetDirty(); UpdateEnabledVisibleState(); } ////// /// Handles changes made to the pager. /// private void OnPagerChanged(object source, EventArgs e) { if (IsLoading()) return; SetDirty(); if (source == modeCombo) UpdateEnabledVisibleState(); } ////// /// Handles changes made to the page size. /// private void OnTextChangedPageSize(object source, EventArgs e) { if (IsLoading()) return; SetDirty(); UpdateEnabledVisibleState(); } ////// /// Saves the component loaded into the page. /// protected override void SaveComponent() { DataGrid dataGrid = (DataGrid)GetBaseControl(); DataGridPagerStyle pagerStyle = dataGrid.PagerStyle; dataGrid.AllowPaging = allowPagingCheck.Checked; dataGrid.AllowCustomPaging = allowCustomPagingCheck.Checked; string pageSizeText = pageSizeEdit.Text.Trim(); if (pageSizeText.Length != 0) { try { dataGrid.PageSize = Int32.Parse(pageSizeText, CultureInfo.InvariantCulture); } catch { pageSizeEdit.Text = (dataGrid.PageSize).ToString(NumberFormatInfo.CurrentInfo); } } pagerStyle.Visible = visibleCheck.Checked; switch (modeCombo.SelectedIndex) { case IDX_MODE_PAGEBUTTONS: pagerStyle.Mode = PagerMode.NextPrev; break; case IDX_MODE_PAGENUMBERS: pagerStyle.Mode = PagerMode.NumericPages; break; } switch (posCombo.SelectedIndex) { case IDX_POS_BOTTOM: pagerStyle.Position = PagerPosition.Bottom; break; case IDX_POS_TOP: pagerStyle.Position = PagerPosition.Top; break; case IDX_POS_TOPANDBOTTOM: pagerStyle.Position = PagerPosition.TopAndBottom; break; } pagerStyle.NextPageText = nextPageTextEdit.Text; pagerStyle.PrevPageText = prevPageTextEdit.Text; string pageButtonCountText = pageButtonCountEdit.Text.Trim(); if (pageButtonCountText.Length != 0) { try { pagerStyle.PageButtonCount = Int32.Parse(pageButtonCountText, CultureInfo.InvariantCulture); } catch { pageButtonCountEdit.Text = (pagerStyle.PageButtonCount).ToString(NumberFormatInfo.CurrentInfo); } } } ////// /// Sets the component that is to be edited in the page. /// public override void SetComponent(IComponent component) { base.SetComponent(component); InitForm(); } ////// /// private void UpdateEnabledVisibleState() { int pageSizeValue = 0; string pageSize = pageSizeEdit.Text.Trim(); if (pageSize.Length != 0) { Int32.TryParse(pageSize, NumberStyles.Integer, CultureInfo.InvariantCulture, out pageSizeValue); Debug.Assert(pageSizeValue >= 0, "Page size should have been restricted to a number greater than 0."); } bool pagingAllowed = allowPagingCheck.Checked; bool pagingEnabled = pagingAllowed && (pageSizeValue != 0); bool pagerVisible = visibleCheck.Checked; bool nextPrevButtonMode = modeCombo.SelectedIndex == IDX_MODE_PAGEBUTTONS; allowCustomPagingCheck.Enabled = pagingAllowed; pageSizeEdit.Enabled = pagingAllowed; visibleCheck.Enabled = pagingEnabled; posCombo.Enabled = pagingEnabled && pagerVisible; modeCombo.Enabled = pagingEnabled && pagerVisible; nextPageTextEdit.Enabled = pagingEnabled && pagerVisible && nextPrevButtonMode; prevPageTextEdit.Enabled = pagingEnabled && pagerVisible && nextPrevButtonMode; pageButtonCountEdit.Enabled = pagingEnabled && pagerVisible && !nextPrevButtonMode; } } } // File provided for Reference Use Only by Microsoft Corporation (c) 2007. // Copyright (c) Microsoft Corporation. All rights reserved.
Link Menu
This book is available now!
Buy at Amazon US or
Buy at Amazon UK
- UInt64Storage.cs
- FormDesigner.cs
- IItemProperties.cs
- CmsInterop.cs
- EmbossBitmapEffect.cs
- HybridDictionary.cs
- ClientTarget.cs
- CodeAttributeDeclaration.cs
- LoginUtil.cs
- HGlobalSafeHandle.cs
- ServicePointManagerElement.cs
- DataGridViewRowErrorTextNeededEventArgs.cs
- MailHeaderInfo.cs
- TextSerializer.cs
- ChineseLunisolarCalendar.cs
- TableProviderWrapper.cs
- TextEffect.cs
- DbConnectionClosed.cs
- LambdaCompiler.Binary.cs
- BindingExpressionBase.cs
- UserControlBuildProvider.cs
- SchemaCollectionCompiler.cs
- DSASignatureFormatter.cs
- IncrementalCompileAnalyzer.cs
- DynamicMethod.cs
- PersistenceProvider.cs
- FontDriver.cs
- Profiler.cs
- CellParagraph.cs
- Int32KeyFrameCollection.cs
- CngProperty.cs
- SingleObjectCollection.cs
- JsonReader.cs
- TitleStyle.cs
- PageClientProxyGenerator.cs
- SmtpReplyReaderFactory.cs
- SizeConverter.cs
- TextTreeTextElementNode.cs
- RegistryConfigurationProvider.cs
- DrawingCollection.cs
- DataServiceClientException.cs
- Material.cs
- SetStateEventArgs.cs
- Parameter.cs
- ScrollEventArgs.cs
- LayoutManager.cs
- DataGridViewColumnTypePicker.cs
- DataList.cs
- SafeMILHandle.cs
- BevelBitmapEffect.cs
- PageThemeCodeDomTreeGenerator.cs
- TableDetailsCollection.cs
- ContextStaticAttribute.cs
- WindowsFormsDesignerOptionService.cs
- ToolboxItemFilterAttribute.cs
- TextTreeTextElementNode.cs
- DragDrop.cs
- Logging.cs
- AssemblyNameProxy.cs
- Container.cs
- DocumentGrid.cs
- RealProxy.cs
- CompilerError.cs
- SystemColors.cs
- FixedSOMElement.cs
- LicFileLicenseProvider.cs
- DictionaryEntry.cs
- Duration.cs
- GPRECTF.cs
- LowerCaseStringConverter.cs
- WebMessageBodyStyleHelper.cs
- TreeWalker.cs
- BamlStream.cs
- PointKeyFrameCollection.cs
- ConfigPathUtility.cs
- TemplatedMailWebEventProvider.cs
- Wildcard.cs
- Publisher.cs
- ToolStripItemEventArgs.cs
- Thread.cs
- RegexTypeEditor.cs
- MsmqReceiveHelper.cs
- ConnectionPointConverter.cs
- XslTransform.cs
- ModuleConfigurationInfo.cs
- CopyAction.cs
- SqlException.cs
- ApplicationHost.cs
- SeparatorAutomationPeer.cs
- ProcessModuleCollection.cs
- WebPartConnectionsDisconnectVerb.cs
- ErasingStroke.cs
- BaseServiceProvider.cs
- ContourSegment.cs
- SerializationInfoEnumerator.cs
- UserPersonalizationStateInfo.cs
- XmlILStorageConverter.cs
- Block.cs
- DbDataAdapter.cs
- ToolStripActionList.cs