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
- QilExpression.cs
- ExpressionPrefixAttribute.cs
- TabControlAutomationPeer.cs
- XmlQualifiedNameTest.cs
- sqlmetadatafactory.cs
- OdbcError.cs
- Bitmap.cs
- DataGridViewEditingControlShowingEventArgs.cs
- DataGridState.cs
- _NativeSSPI.cs
- Blend.cs
- TextSimpleMarkerProperties.cs
- AppLevelCompilationSectionCache.cs
- CodeCommentStatementCollection.cs
- Span.cs
- HttpRawResponse.cs
- TextBox.cs
- SQLStringStorage.cs
- tibetanshape.cs
- AnimationTimeline.cs
- _SingleItemRequestCache.cs
- SqlCachedBuffer.cs
- BaseDataListComponentEditor.cs
- LinqDataSourceValidationException.cs
- DynamicILGenerator.cs
- SQLStringStorage.cs
- XPathNodeHelper.cs
- TextBreakpoint.cs
- RichTextBoxDesigner.cs
- ViewCellRelation.cs
- RoleServiceManager.cs
- GraphicsPath.cs
- PtsHost.cs
- ImageMetadata.cs
- EntityFrameworkVersions.cs
- ResourceManager.cs
- SharedPerformanceCounter.cs
- Thread.cs
- ActivityXRefConverter.cs
- ECDiffieHellmanCng.cs
- SparseMemoryStream.cs
- ListDictionary.cs
- FlowDocument.cs
- DataErrorValidationRule.cs
- BamlReader.cs
- XmlEventCache.cs
- ConstraintStruct.cs
- DataGridViewCheckBoxCell.cs
- ExpressionHelper.cs
- EntityDataSourceWrapper.cs
- PartialList.cs
- PriorityChain.cs
- ApplicationServiceManager.cs
- AvTrace.cs
- figurelengthconverter.cs
- SourceChangedEventArgs.cs
- ValidatorUtils.cs
- InputDevice.cs
- XmlReader.cs
- SpellCheck.cs
- StoreItemCollection.Loader.cs
- DES.cs
- NetTcpSection.cs
- SecurityPermission.cs
- HMACSHA1.cs
- StringUtil.cs
- CultureTableRecord.cs
- Confirm.cs
- ItemCheckEvent.cs
- GiveFeedbackEventArgs.cs
- ServiceBehaviorElement.cs
- CustomError.cs
- TableParaClient.cs
- DelayedRegex.cs
- SystemDiagnosticsSection.cs
- DbConnectionPoolIdentity.cs
- StateDesigner.cs
- FileSystemWatcher.cs
- Variant.cs
- PolygonHotSpot.cs
- ButtonPopupAdapter.cs
- NetworkInformationPermission.cs
- ModelTypeConverter.cs
- DesignSurfaceManager.cs
- MultilineStringConverter.cs
- SerializerWriterEventHandlers.cs
- InvalidDataException.cs
- ServiceThrottle.cs
- WebPartEditorApplyVerb.cs
- WindowsScrollBar.cs
- StorageBasedPackageProperties.cs
- UshortList2.cs
- Set.cs
- KoreanCalendar.cs
- HttpRuntimeSection.cs
- SafeSecurityHelper.cs
- InvalidComObjectException.cs
- EventsTab.cs
- BoolExpression.cs
- ParserStack.cs