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
- InfoCardKeyedHashAlgorithm.cs
- PreservationFileWriter.cs
- GiveFeedbackEventArgs.cs
- ControlHelper.cs
- RemotingConfigParser.cs
- ReferenceEqualityComparer.cs
- CompatibleIComparer.cs
- ToolStripDesignerUtils.cs
- dbdatarecord.cs
- counter.cs
- BindingExpression.cs
- Profiler.cs
- EventMappingSettingsCollection.cs
- TextDecorationCollectionConverter.cs
- ToolBar.cs
- WebColorConverter.cs
- ObjectItemLoadingSessionData.cs
- ManagedWndProcTracker.cs
- ActivityExecutor.cs
- HtmlString.cs
- ListViewTableCell.cs
- MailDefinition.cs
- SmtpFailedRecipientException.cs
- XmlQuerySequence.cs
- RenameRuleObjectDialog.cs
- CompilationRelaxations.cs
- SqlClientWrapperSmiStream.cs
- StaticContext.cs
- Crypto.cs
- X509ScopedServiceCertificateElement.cs
- BuildResultCache.cs
- StringInfo.cs
- TripleDESCryptoServiceProvider.cs
- ContextMenuAutomationPeer.cs
- NativeMethodsCLR.cs
- VisualCollection.cs
- UnsafeNativeMethods.cs
- Events.cs
- StyleModeStack.cs
- IdentityModelDictionary.cs
- XmlWriter.cs
- WmlValidatorAdapter.cs
- PointAnimationUsingKeyFrames.cs
- ArgumentValueSerializer.cs
- HttpListenerRequest.cs
- FileSystemWatcher.cs
- ClientSideQueueItem.cs
- OleDbConnectionPoolGroupProviderInfo.cs
- ArrayExtension.cs
- Switch.cs
- TogglePatternIdentifiers.cs
- QilStrConcat.cs
- CacheOutputQuery.cs
- PrintingPermissionAttribute.cs
- EqualityComparer.cs
- SafeIUnknown.cs
- XmlSerializerOperationBehavior.cs
- TraceShell.cs
- PtsHost.cs
- SerializerDescriptor.cs
- MsmqChannelFactoryBase.cs
- HitTestResult.cs
- EntityEntry.cs
- SuppressMessageAttribute.cs
- DashStyle.cs
- BuilderInfo.cs
- SwitchAttribute.cs
- EffectiveValueEntry.cs
- XmlDomTextWriter.cs
- ConstraintConverter.cs
- LogExtentCollection.cs
- BamlBinaryWriter.cs
- ZipFileInfo.cs
- NamedPipeAppDomainProtocolHandler.cs
- BasicHttpSecurityElement.cs
- SqlBuilder.cs
- PeerInvitationResponse.cs
- InternalMappingException.cs
- OLEDB_Enum.cs
- columnmapfactory.cs
- ContentElementCollection.cs
- WindowsSysHeader.cs
- QilChoice.cs
- ServiceNameElementCollection.cs
- HotSpot.cs
- RemotingServices.cs
- InfiniteTimeSpanConverter.cs
- CodePageEncoding.cs
- NativeMethodsOther.cs
- TraceHandlerErrorFormatter.cs
- SqlParameterizer.cs
- AndCondition.cs
- LinkedResourceCollection.cs
- DataGridViewAccessibleObject.cs
- BufferedWebEventProvider.cs
- FormView.cs
- XmlNodeWriter.cs
- SystemTcpConnection.cs
- DictionaryItemsCollection.cs
- SoapAttributeOverrides.cs