Code:
/ 4.0 / 4.0 / untmp / DEVDIV_TFS / Dev10 / Releases / RTMRel / ndp / fx / src / WinForms / Managed / System / WinForms / DataGridAddNewRow.cs / 1305376 / 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.
Link Menu
This book is available now!
Buy at Amazon US or
Buy at Amazon UK
- HuffModule.cs
- SetStoryboardSpeedRatio.cs
- Compiler.cs
- SiteIdentityPermission.cs
- CommonRemoteMemoryBlock.cs
- HttpCachePolicyWrapper.cs
- Rotation3DAnimationBase.cs
- WorkflowApplicationTerminatedException.cs
- DataServiceQueryException.cs
- X509CertificateValidationMode.cs
- WsdlHelpGeneratorElement.cs
- CodeCastExpression.cs
- FunctionImportMapping.cs
- MobileResource.cs
- UserInitiatedRoutedEventPermissionAttribute.cs
- Application.cs
- TTSEvent.cs
- DataDesignUtil.cs
- StreamWriter.cs
- FrameSecurityDescriptor.cs
- ConstructorBuilder.cs
- HScrollProperties.cs
- MultiplexingFormatMapping.cs
- SerializationEventsCache.cs
- SerializationObjectManager.cs
- RegexWriter.cs
- DataReaderContainer.cs
- MetafileHeaderWmf.cs
- AbstractExpressions.cs
- DataGridColumnCollection.cs
- EntityDataSourceSelectingEventArgs.cs
- HotSpot.cs
- InkCanvasFeedbackAdorner.cs
- DataProtection.cs
- TailCallAnalyzer.cs
- CodeGotoStatement.cs
- SoapAttributeOverrides.cs
- AmbientLight.cs
- Roles.cs
- TableRowsCollectionEditor.cs
- DataBoundLiteralControl.cs
- SelectionRange.cs
- ChangePassword.cs
- MatrixUtil.cs
- VScrollBar.cs
- DbException.cs
- CacheAxisQuery.cs
- Calendar.cs
- DataServiceContext.cs
- TextPointer.cs
- BaseDataList.cs
- AppSettingsExpressionBuilder.cs
- ReversePositionQuery.cs
- MetadataException.cs
- ExpressionBuilderContext.cs
- TriggerCollection.cs
- InteropBitmapSource.cs
- ReliabilityContractAttribute.cs
- FlowDocumentView.cs
- UserControlParser.cs
- MulticastDelegate.cs
- ChangeDirector.cs
- DataAdapter.cs
- EntityCommandCompilationException.cs
- FileInfo.cs
- UnsafeNativeMethods.cs
- TabItemWrapperAutomationPeer.cs
- DynamicMethod.cs
- StretchValidation.cs
- EntityContainer.cs
- webeventbuffer.cs
- UnsafeNetInfoNativeMethods.cs
- Html32TextWriter.cs
- MaskedTextBox.cs
- X509Certificate.cs
- DbDataSourceEnumerator.cs
- Compiler.cs
- XmlAttributeHolder.cs
- SqlCacheDependency.cs
- OledbConnectionStringbuilder.cs
- EarlyBoundInfo.cs
- FieldDescriptor.cs
- unsafeIndexingFilterStream.cs
- ConfigurationSectionGroup.cs
- XPathItem.cs
- ServiceKnownTypeAttribute.cs
- OuterGlowBitmapEffect.cs
- ArrayWithOffset.cs
- ToolStripMenuItemCodeDomSerializer.cs
- XmlDocumentFragment.cs
- DataViewSetting.cs
- XmlDeclaration.cs
- TemplateField.cs
- SmiEventSink.cs
- ContainerUIElement3D.cs
- DesignerHelpers.cs
- OdbcCommand.cs
- TypeConverterHelper.cs
- Function.cs
- ColorAnimationUsingKeyFrames.cs