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
- SqlProvider.cs
- Utils.cs
- DescendantOverDescendantQuery.cs
- FrugalList.cs
- FileAuthorizationModule.cs
- BackEase.cs
- MSAANativeProvider.cs
- DefaultValidator.cs
- KnownIds.cs
- UdpDiscoveryEndpointElement.cs
- ArgIterator.cs
- GenericWebPart.cs
- ObjectDataSourceMethodEventArgs.cs
- TypeExtensionConverter.cs
- ResourceProperty.cs
- ExceptionCollection.cs
- XmlUrlResolver.cs
- NonBatchDirectoryCompiler.cs
- DragDeltaEventArgs.cs
- SqlDependencyUtils.cs
- RSAPKCS1KeyExchangeFormatter.cs
- DownloadProgressEventArgs.cs
- SpellerStatusTable.cs
- ObjectView.cs
- JoinQueryOperator.cs
- JpegBitmapDecoder.cs
- WebPartConnectionsCancelVerb.cs
- ComponentResourceKeyConverter.cs
- DiscoveryClientReferences.cs
- MetabaseReader.cs
- TraceSection.cs
- Mouse.cs
- ToolStripGripRenderEventArgs.cs
- DropDownHolder.cs
- HelpProvider.cs
- FamilyTypefaceCollection.cs
- StringWriter.cs
- TraceContextEventArgs.cs
- RIPEMD160.cs
- SoapCodeExporter.cs
- SymbolEqualComparer.cs
- HttpListenerContext.cs
- LabelExpression.cs
- UIntPtr.cs
- ExpressionEditorAttribute.cs
- EventProviderBase.cs
- ThreadStateException.cs
- SoapSchemaMember.cs
- ObjectConverter.cs
- GridViewCommandEventArgs.cs
- SQLInt16.cs
- ErrorStyle.cs
- XmlAttributes.cs
- NCryptNative.cs
- XmlAggregates.cs
- EventMap.cs
- XmlNamespaceMapping.cs
- SchemaObjectWriter.cs
- TreeView.cs
- DataKeyCollection.cs
- CreateSequenceResponse.cs
- ActiveXContainer.cs
- SqlConnectionPoolGroupProviderInfo.cs
- Substitution.cs
- OdbcDataReader.cs
- X509Certificate.cs
- X509PeerCertificateAuthentication.cs
- LogEntrySerializer.cs
- DBDataPermissionAttribute.cs
- SqlClientWrapperSmiStream.cs
- AndMessageFilter.cs
- CompoundFileDeflateTransform.cs
- RemotingException.cs
- SlipBehavior.cs
- SystemResourceKey.cs
- StorageSetMapping.cs
- EntityStoreSchemaFilterEntry.cs
- COM2ExtendedTypeConverter.cs
- GenericTextProperties.cs
- OperationFormatUse.cs
- StylusCaptureWithinProperty.cs
- MessageSecurityOverTcp.cs
- ObjectTypeMapping.cs
- SymbolMethod.cs
- OdbcException.cs
- ToolStripManager.cs
- DocumentReferenceCollection.cs
- TcpAppDomainProtocolHandler.cs
- PerspectiveCamera.cs
- SignatureGenerator.cs
- AsyncSerializedWorker.cs
- ProcessInputEventArgs.cs
- IteratorFilter.cs
- XmlIterators.cs
- AccessibleObject.cs
- HtmlElementCollection.cs
- PageAsyncTaskManager.cs
- Part.cs
- MobileUserControl.cs
- ObjectDataSourceView.cs