Code:
/ FX-1434 / FX-1434 / 1.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
- TimeoutValidationAttribute.cs
- BasicHttpBindingCollectionElement.cs
- CodeGeneratorAttribute.cs
- PeerApplicationLaunchInfo.cs
- CountdownEvent.cs
- DllHostInitializer.cs
- IteratorDescriptor.cs
- TableLayoutPanel.cs
- DeferredTextReference.cs
- XmlSchemaImporter.cs
- Misc.cs
- XmlnsDefinitionAttribute.cs
- MetadataItemSerializer.cs
- ControlParameter.cs
- ImagingCache.cs
- UpdatePanelControlTrigger.cs
- CompositeClientFormatter.cs
- BaseUriHelper.cs
- UnsettableComboBox.cs
- ServiceParser.cs
- ClientUrlResolverWrapper.cs
- ColumnClickEvent.cs
- WindowsStatusBar.cs
- HttpConfigurationContext.cs
- FixedTextContainer.cs
- RoutingConfiguration.cs
- ColumnMapCopier.cs
- SoundPlayerAction.cs
- DbResourceAllocator.cs
- ToolStripProfessionalLowResolutionRenderer.cs
- DesignBindingEditor.cs
- ScriptingAuthenticationServiceSection.cs
- VirtualDirectoryMappingCollection.cs
- ColumnCollectionEditor.cs
- SortQuery.cs
- XmlSchemaExternal.cs
- SocketAddress.cs
- RemotingServices.cs
- TypefaceMap.cs
- OleCmdHelper.cs
- SqlMethodAttribute.cs
- SharedStatics.cs
- RequestBringIntoViewEventArgs.cs
- CompositeFontParser.cs
- XmlChildNodes.cs
- TextModifier.cs
- SqlDataRecord.cs
- InvokeProviderWrapper.cs
- IntegerValidatorAttribute.cs
- SerialStream.cs
- MultilineStringConverter.cs
- Nodes.cs
- FontSourceCollection.cs
- XmlKeywords.cs
- HandlerFactoryCache.cs
- ChangePassword.cs
- WindowShowOrOpenTracker.cs
- ContainerTracking.cs
- PeerNode.cs
- ComAdminInterfaces.cs
- GridViewColumnHeader.cs
- SqlDataSourceQueryEditorForm.cs
- EmptyImpersonationContext.cs
- ChannelServices.cs
- XmlDocumentFragment.cs
- UIInitializationException.cs
- ImageMetadata.cs
- DrawingContext.cs
- DragDeltaEventArgs.cs
- WindowsIPAddress.cs
- BrushMappingModeValidation.cs
- OfTypeExpression.cs
- ContainerFilterService.cs
- LoginView.cs
- DesignTimeTemplateParser.cs
- SimpleFieldTemplateUserControl.cs
- CommandExpr.cs
- FileInfo.cs
- ContentDisposition.cs
- BrowserDefinitionCollection.cs
- XmlImplementation.cs
- JoinTreeNode.cs
- ApplicationActivator.cs
- MultilineStringConverter.cs
- TextHidden.cs
- PathFigure.cs
- InheritedPropertyChangedEventArgs.cs
- ClaimTypeRequirement.cs
- WebPartDeleteVerb.cs
- SqlCacheDependencySection.cs
- ADRoleFactoryConfiguration.cs
- OdbcConnectionString.cs
- MetadataStore.cs
- ToolStripPanelRenderEventArgs.cs
- DataListItem.cs
- DirectionalLight.cs
- CompiledIdentityConstraint.cs
- XamlVector3DCollectionSerializer.cs
- ByteStreamMessageEncoderFactory.cs
- SecurityRuntime.cs