Code:
/ DotNET / DotNET / 8.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
- ErrorRuntimeConfig.cs
- JsonDeserializer.cs
- WorkflowDefinitionDispenser.cs
- NavigationEventArgs.cs
- TextBoxView.cs
- TransformPatternIdentifiers.cs
- BitmapImage.cs
- NavigationPropertyEmitter.cs
- MaskDescriptor.cs
- HtmlControl.cs
- ListControl.cs
- ImageClickEventArgs.cs
- LogExtentCollection.cs
- UserNamePasswordValidator.cs
- DocumentViewerConstants.cs
- FormViewDeletedEventArgs.cs
- RectKeyFrameCollection.cs
- ProviderCommandInfoUtils.cs
- ErrorWrapper.cs
- SessionEndedEventArgs.cs
- SubpageParaClient.cs
- FragmentQueryProcessor.cs
- MemberAccessException.cs
- AlgoModule.cs
- WebScriptMetadataMessageEncoderFactory.cs
- ProxyAttribute.cs
- PenThreadWorker.cs
- ObjectSet.cs
- Encoding.cs
- ResourceSetExpression.cs
- RawStylusInputCustomData.cs
- DataGridViewRowPostPaintEventArgs.cs
- ListBox.cs
- UrlMappingsModule.cs
- GroupStyle.cs
- DataGridViewRowPostPaintEventArgs.cs
- OpenFileDialog.cs
- SimpleWebHandlerParser.cs
- TextSelection.cs
- Single.cs
- TextWriter.cs
- CustomCredentialPolicy.cs
- DynamicDataExtensions.cs
- ExtenderProvidedPropertyAttribute.cs
- MediaPlayer.cs
- NativeObjectSecurity.cs
- ConsoleEntryPoint.cs
- RangeValidator.cs
- SiteIdentityPermission.cs
- ParameterModifier.cs
- SignatureToken.cs
- ManipulationDelta.cs
- AVElementHelper.cs
- UpdateDelegates.Generated.cs
- RegexTree.cs
- RectangleConverter.cs
- DesignerAutoFormatCollection.cs
- LocationSectionRecord.cs
- PointCollection.cs
- IItemContainerGenerator.cs
- OverrideMode.cs
- ObjectDataSourceSelectingEventArgs.cs
- MiniAssembly.cs
- ImageDrawing.cs
- DataGridViewSelectedColumnCollection.cs
- WebHttpBinding.cs
- VersionedStream.cs
- ConfigurationFileMap.cs
- BamlReader.cs
- Enum.cs
- LocatorPartList.cs
- ScaleTransform3D.cs
- CodeDOMUtility.cs
- SynchronizationLockException.cs
- StorageComplexPropertyMapping.cs
- TemplateNameScope.cs
- SmiEventSink.cs
- PrintPreviewControl.cs
- Menu.cs
- XmlRootAttribute.cs
- TrackingMemoryStreamFactory.cs
- XmlAttributeCollection.cs
- String.cs
- RewritingPass.cs
- AsyncOperationManager.cs
- XmlComplianceUtil.cs
- DataGridViewColumnEventArgs.cs
- ColorDialog.cs
- XmlDataFileEditor.cs
- XMLSchema.cs
- DataPagerFieldItem.cs
- OracleConnection.cs
- MappingSource.cs
- ViewStateException.cs
- ContainerParagraph.cs
- IIS7WorkerRequest.cs
- ObjectQuery_EntitySqlExtensions.cs
- CommentGlyph.cs
- ConsumerConnectionPointCollection.cs
- PointCollectionConverter.cs