Code:
/ FX-1434 / FX-1434 / 1.0 / untmp / whidbey / REDBITS / ndp / fx / src / WinForms / Managed / System / WinForms / DataGridAddNewRow.cs / 1 / DataGridAddNewRow.cs
//------------------------------------------------------------------------------ //// Copyright (c) Microsoft Corporation. All rights reserved. // //----------------------------------------------------------------------------- namespace System.Windows.Forms { using System.Runtime.Remoting; using System.Diagnostics; using System; using System.Windows.Forms; using System.ComponentModel; using System.Drawing; using Microsoft.Win32; ////// This class fully encapsulates the painting logic for an addnew row /// appearing in a DataGrid. /// internal class DataGridAddNewRow : DataGridRow { private bool dataBound = false; public DataGridAddNewRow(DataGrid dGrid, DataGridTableStyle gridTable, int rowNum) : base(dGrid, gridTable, rowNum) { } // =----------------------------------------------------------------- // = Methods // =----------------------------------------------------------------- ////// Since the DataView does not return a valid DataRow for /// a newly added row, the DataGrid sets this property to /// true to signal that the AddNewRow can safely render /// row contents and permit editing, etc because a DataRecord /// exists in the cursor that created this row. /// public bool DataBound { get { return dataBound; } set { dataBound = value; } } public override void OnEdit() { if (!DataBound) { DataGrid.AddNewRow(); } } public override void OnRowLeave() { if (DataBound) DataBound = false; } // the addNewRow has nothing to do with losing focus // internal override void LoseChildFocus(Rectangle rowHeader, bool alignToRight) { } // the newDataRow has nothing to do with TAB keys // internal override bool ProcessTabKey(Keys keyData, Rectangle rowHeaders, bool alignToRight) { return false; } ////// Paints the row. /// public override int Paint(Graphics g, Rectangle bounds, Rectangle trueRowBounds, int firstVisibleColumn, int columnCount) { return Paint(g, bounds, trueRowBounds, firstVisibleColumn, columnCount, false); } public override int Paint(Graphics g, Rectangle bounds, Rectangle trueRowBounds, int firstVisibleColumn, int columnCount, bool alignToRight) { Rectangle dataBounds = bounds; DataGridLineStyle gridStyle; if (this.dgTable.IsDefault) gridStyle = this.DataGrid.GridLineStyle; else gridStyle = this.dgTable.GridLineStyle; int bWidth = this.DataGrid == null ? 0 : gridStyle == DataGridLineStyle.Solid ? 1 : 0; dataBounds.Height -= bWidth; int cx = base.PaintData(g, dataBounds, firstVisibleColumn, columnCount, alignToRight); if (bWidth > 0) PaintBottomBorder(g, bounds, cx, bWidth, alignToRight); return cx; } protected override void PaintCellContents(Graphics g, Rectangle cellBounds, DataGridColumnStyle column, Brush backBr, Brush foreBrush, bool alignToRight) { if (DataBound) { CurrencyManager listManager = DataGrid.ListManager; column.Paint(g, cellBounds, listManager, this.RowNumber, alignToRight); } else { base.PaintCellContents(g, cellBounds, column, backBr, foreBrush, alignToRight); } } } } // 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
- ServiceHttpModule.cs
- TextServicesCompartmentEventSink.cs
- ToolStripTextBox.cs
- HttpApplication.cs
- DateTimeConverter.cs
- CodeSubDirectory.cs
- ServiceEndpointCollection.cs
- odbcmetadatacollectionnames.cs
- TreeNodeMouseHoverEvent.cs
- OdbcDataAdapter.cs
- PackWebRequest.cs
- ModulesEntry.cs
- TypedReference.cs
- ControlPropertyNameConverter.cs
- CustomServiceCredentials.cs
- DataGridPageChangedEventArgs.cs
- DataGridViewCellConverter.cs
- WebPartTracker.cs
- FlowSwitchDesigner.xaml.cs
- HttpRawResponse.cs
- DefaultWorkflowLoaderService.cs
- DataGridViewCellValidatingEventArgs.cs
- TextMarkerSource.cs
- XdrBuilder.cs
- XmlJsonWriter.cs
- WebPartCollection.cs
- _NetRes.cs
- InputScope.cs
- WebPartMovingEventArgs.cs
- JsonServiceDocumentSerializer.cs
- MatrixCamera.cs
- CroppedBitmap.cs
- TextPatternIdentifiers.cs
- ConnectionPoolManager.cs
- ObjectDataSourceFilteringEventArgs.cs
- NotImplementedException.cs
- IndentedTextWriter.cs
- WorkflowInstanceContextProvider.cs
- SmtpFailedRecipientsException.cs
- ListBindingConverter.cs
- PolicyException.cs
- DetailsViewDeleteEventArgs.cs
- RequestStatusBarUpdateEventArgs.cs
- CustomActivityDesigner.cs
- TextEditorTables.cs
- SelfIssuedAuthRSAPKCS1SignatureDeformatter.cs
- ConfigurationProperty.cs
- InvalidStoreProtectionKeyException.cs
- DataGridTextColumn.cs
- PowerEase.cs
- PartManifestEntry.cs
- BinaryOperationBinder.cs
- SQLMoneyStorage.cs
- WebResourceAttribute.cs
- BaseValidator.cs
- UserControlFileEditor.cs
- StatusBar.cs
- CategoryNameCollection.cs
- TraceHandler.cs
- baseshape.cs
- TextDecorationCollection.cs
- LocatorPartList.cs
- CompoundFileReference.cs
- BasicSecurityProfileVersion.cs
- DataListItem.cs
- Path.cs
- CachedFontFamily.cs
- ToolStripItemTextRenderEventArgs.cs
- DbProviderFactory.cs
- InternalBufferOverflowException.cs
- NativeMethods.cs
- Attributes.cs
- ValuePattern.cs
- OperatorExpressions.cs
- PrintController.cs
- Interlocked.cs
- DesignerAutoFormat.cs
- CalendarData.cs
- PolyQuadraticBezierSegment.cs
- AdCreatedEventArgs.cs
- DataGridViewCellPaintingEventArgs.cs
- SqlClientFactory.cs
- EntityDataSourceDesigner.cs
- DataControlField.cs
- WebPartMenuStyle.cs
- ZipIOExtraField.cs
- EventDescriptor.cs
- RightsManagementPermission.cs
- WebPartCloseVerb.cs
- FixedTextBuilder.cs
- ToolStripComboBox.cs
- FilterElement.cs
- SymbolEqualComparer.cs
- PropertyDescriptorCollection.cs
- GraphicsState.cs
- ManualResetEvent.cs
- TextRange.cs
- Label.cs
- TextDecorationCollectionConverter.cs
- DataRowView.cs