Code:
/ FX-1434 / FX-1434 / 1.0 / untmp / whidbey / REDBITS / ndp / fx / src / Data / System / Data / DataError.cs / 1 / DataError.cs
//------------------------------------------------------------------------------ //// Copyright (c) Microsoft Corporation. All rights reserved. // //[....] //[....] //[....] //----------------------------------------------------------------------------- namespace System.Data { using System; using System.Diagnostics; ////// internal sealed class DataError { private string rowError = String.Empty; // column-level errors private int count; private ColumnError[] errorList; internal const int initialCapacity = 1; internal DataError() { } internal DataError(string rowError) { SetText(rowError); } internal string Text { get { return rowError; } set { SetText(value); } } internal bool HasErrors { get { return(rowError.Length != 0 || count != 0); } } // // this method resets the error to the new value. // internal void SetColumnError(DataColumn column, string error) { Debug.Assert(column != null, "Invalid (null) argument"); Debug.Assert(column.Table != null, "Invalid (loose) column"); if (error == null || error.Length == 0) { // remove error from the collection Clear(column); } else { if (errorList == null) { errorList = new ColumnError[initialCapacity]; } int i = IndexOf(column); errorList[i].column = column; errorList[i].error = error; column.errors++; if (i == count) count++; } } internal string GetColumnError(DataColumn column) { for (int i = 0; i < count; i++) { if (errorList[i].column == column) { return errorList[i].error; } } return String.Empty; } internal void Clear(DataColumn column) { if (count == 0) return; for (int i = 0; i < count; i++) { if (errorList[i].column == column) { System.Array.Copy(errorList, i+1, errorList, i, count-i-1); count--; column.errors--; Debug.Assert(column.errors >= 0, "missing error counts"); } } } internal void Clear() { for (int i = 0; i < count; i++) { errorList[i].column.errors--; Debug.Assert(errorList[i].column.errors >= 0, "missing error counts"); } count = 0; rowError = String.Empty; } internal DataColumn[] GetColumnsInError() { DataColumn[] cols = new DataColumn[count]; for (int i = 0; i < count; i++) { cols[i] = errorList[i].column; } return cols; } ///Represents an custom error that can be associated with a ///. /// private void SetText(string errorText) { if (null == errorText) { errorText = String.Empty; } rowError = errorText; } internal int IndexOf (DataColumn column) { // try to find the column for (int i = 0; i < count; i++) { if (errorList[i].column == column) { return i; } } if (count >= errorList.Length) { int newCapacity = Math.Min(count*2, column.Table.Columns.Count); ColumnError[] biggerList = new ColumnError[newCapacity]; System.Array.Copy(errorList, 0, biggerList, 0, count); errorList = biggerList; } return count; } internal struct ColumnError { internal DataColumn column; internal string error; }; } } // File provided for Reference Use Only by Microsoft Corporation (c) 2007. // Copyright (c) Microsoft Corporation. All rights reserved.Sets the error message for the ///.
Link Menu

This book is available now!
Buy at Amazon US or
Buy at Amazon UK
- FactoryRecord.cs
- Lasso.cs
- ActiveXHelper.cs
- TrackingMemoryStream.cs
- HybridDictionary.cs
- DragDeltaEventArgs.cs
- SynchronizationValidator.cs
- EllipticalNodeOperations.cs
- CancelRequestedQuery.cs
- ISAPIRuntime.cs
- CompositeClientFormatter.cs
- BoundsDrawingContextWalker.cs
- BindingOperations.cs
- XmlSchemaProviderAttribute.cs
- SqlDataSourceCommandParser.cs
- FlowDocumentFormatter.cs
- EventLogInternal.cs
- Transform3DGroup.cs
- EnglishPluralizationService.cs
- FontSizeConverter.cs
- XdrBuilder.cs
- XmlSchemaObjectCollection.cs
- DiscoveryClientDocuments.cs
- EntityDataSourceWrapperPropertyDescriptor.cs
- SmiEventSink_Default.cs
- VisualSerializer.cs
- Int32AnimationUsingKeyFrames.cs
- Size3DValueSerializer.cs
- LoginView.cs
- ByteAnimationUsingKeyFrames.cs
- SerializationInfoEnumerator.cs
- DataGridViewRowStateChangedEventArgs.cs
- CultureInfo.cs
- TemplateColumn.cs
- MarshalByValueComponent.cs
- RuntimeConfig.cs
- JournalEntryListConverter.cs
- MatrixTransform3D.cs
- SHA1CryptoServiceProvider.cs
- KeyedPriorityQueue.cs
- UnauthorizedWebPart.cs
- ProjectionCamera.cs
- IisTraceWebEventProvider.cs
- ToolStripSeparator.cs
- FunctionUpdateCommand.cs
- WebSysDescriptionAttribute.cs
- TypeExtension.cs
- WindowVisualStateTracker.cs
- ItemCheckEvent.cs
- Geometry3D.cs
- AddInToken.cs
- OleDbCommandBuilder.cs
- SecurityProtocolCorrelationState.cs
- SmiEventStream.cs
- MsmqIntegrationInputMessage.cs
- GenericTextProperties.cs
- OdbcUtils.cs
- IconEditor.cs
- TrustLevelCollection.cs
- ValidatorUtils.cs
- DropShadowBitmapEffect.cs
- ObjectDataSource.cs
- RealProxy.cs
- SoapTypeAttribute.cs
- TemplatePagerField.cs
- FacetEnabledSchemaElement.cs
- TransferRequestHandler.cs
- Underline.cs
- TransportSecurityProtocolFactory.cs
- COM2ExtendedBrowsingHandler.cs
- ComponentDispatcherThread.cs
- DataListItem.cs
- LazyTextWriterCreator.cs
- WebServiceFaultDesigner.cs
- DatatypeImplementation.cs
- DragDrop.cs
- sqlpipe.cs
- UnsafeCollabNativeMethods.cs
- ProtocolsConfigurationHandler.cs
- MetadataArtifactLoaderCompositeFile.cs
- MetafileHeader.cs
- WebPartAuthorizationEventArgs.cs
- DataColumnMappingCollection.cs
- ImageBrush.cs
- DataShape.cs
- XmlNamespaceManager.cs
- EntityProxyFactory.cs
- Compiler.cs
- HtmlWindow.cs
- GeometryValueSerializer.cs
- GenericEnumConverter.cs
- SqlDataSourceConfigureSortForm.cs
- TripleDESCryptoServiceProvider.cs
- SourceElementsCollection.cs
- LinqDataSource.cs
- KeyboardEventArgs.cs
- SiteMembershipCondition.cs
- Timer.cs
- DbDataRecord.cs
- EncodingNLS.cs