Code:
/ Dotnetfx_Win7_3.5.1 / Dotnetfx_Win7_3.5.1 / 3.5.1 / DEVDIV / depot / DevDiv / releases / whidbey / NetFXspW7 / 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. //------------------------------------------------------------------------------ //Sets the error message for the ///. // 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.Sets the error message for the ///.
Link Menu
This book is available now!
Buy at Amazon US or
Buy at Amazon UK
- StretchValidation.cs
- TreeViewImageGenerator.cs
- ToolStripDropDownClosingEventArgs.cs
- UserPreferenceChangingEventArgs.cs
- DataPointer.cs
- ExternalException.cs
- RichTextBoxAutomationPeer.cs
- ActiveDesignSurfaceEvent.cs
- GrammarBuilderDictation.cs
- Calendar.cs
- WriteFileContext.cs
- AlternationConverter.cs
- COM2IVsPerPropertyBrowsingHandler.cs
- EntityContainerEntitySet.cs
- objectresult_tresulttype.cs
- AttributeUsageAttribute.cs
- ContextMenuStripActionList.cs
- ToolStripPanelDesigner.cs
- StorageTypeMapping.cs
- LineInfo.cs
- RightsManagementManager.cs
- DrawingAttributesDefaultValueFactory.cs
- RecordManager.cs
- SymbolPair.cs
- XmlSchemaImporter.cs
- DeviceOverridableAttribute.cs
- TimeManager.cs
- ReadOnlyHierarchicalDataSource.cs
- StylusPointPropertyUnit.cs
- FillBehavior.cs
- ObjectDataSourceFilteringEventArgs.cs
- WebPartDisplayModeCancelEventArgs.cs
- SqlBooleanizer.cs
- SafeNativeMethods.cs
- GlyphsSerializer.cs
- BindingNavigator.cs
- PrimitiveXmlSerializers.cs
- InstanceNameConverter.cs
- ProxyElement.cs
- UTF8Encoding.cs
- InternalConfigSettingsFactory.cs
- TemplatedMailWebEventProvider.cs
- PageWrapper.cs
- SocketInformation.cs
- MsmqIntegrationProcessProtocolHandler.cs
- SafeNativeMethods.cs
- Span.cs
- TypedDataSourceCodeGenerator.cs
- Help.cs
- HtmlWindowCollection.cs
- SrgsOneOf.cs
- ModelPerspective.cs
- DiscoveryCallbackBehavior.cs
- WsdlServiceChannelBuilder.cs
- X509Certificate2.cs
- TextSearch.cs
- LogStore.cs
- TextEditorSelection.cs
- MonthCalendarDesigner.cs
- SkewTransform.cs
- XmlAttributeAttribute.cs
- IteratorFilter.cs
- SynchronizedDispatch.cs
- ProtocolsConfiguration.cs
- IntSecurity.cs
- EnglishPluralizationService.cs
- ContextMenu.cs
- CodeTypeReferenceExpression.cs
- ClipboardProcessor.cs
- CorePropertiesFilter.cs
- SmiRecordBuffer.cs
- PersonalizationStateInfoCollection.cs
- EventMappingSettings.cs
- ConfigurationManagerInternal.cs
- UIElementHelper.cs
- DateTimeFormat.cs
- LogRestartAreaEnumerator.cs
- ExponentialEase.cs
- SqlDataReader.cs
- StringInfo.cs
- ContextBase.cs
- TransformerTypeCollection.cs
- ContentHostHelper.cs
- AuthorizationSection.cs
- SqlDataSourceTableQuery.cs
- hebrewshape.cs
- PrinterResolution.cs
- TextDecorationUnitValidation.cs
- ImageMapEventArgs.cs
- InteropBitmapSource.cs
- SQLDateTime.cs
- Frame.cs
- PolicyValidator.cs
- XamlFilter.cs
- ManagedWndProcTracker.cs
- SafeRightsManagementPubHandle.cs
- ActivityAction.cs
- ProvidersHelper.cs
- IteratorFilter.cs
- ToolStripContainer.cs