Code:
/ 4.0 / 4.0 / untmp / DEVDIV_TFS / Dev10 / Releases / RTMRel / ndp / fx / src / Data / System / Data / DataError.cs / 1305376 / 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 ///.
Link Menu
This book is available now!
Buy at Amazon US or
Buy at Amazon UK
- Image.cs
- XmlSchemaFacet.cs
- BooleanFunctions.cs
- UserNamePasswordValidator.cs
- LZCodec.cs
- HttpListenerPrefixCollection.cs
- FormsAuthentication.cs
- ObjectDataSourceView.cs
- SelectionProviderWrapper.cs
- SafeIUnknown.cs
- SchemaAttDef.cs
- CreateUserWizardStep.cs
- FrameworkTextComposition.cs
- RequestTimeoutManager.cs
- XmlNodeReader.cs
- SafePointer.cs
- XmlSchema.cs
- CodeArgumentReferenceExpression.cs
- Decoder.cs
- TextEditorDragDrop.cs
- HeaderedContentControl.cs
- ColumnProvider.cs
- _SslState.cs
- TemplateControlCodeDomTreeGenerator.cs
- ServerIdentity.cs
- GetKeyedHashRequest.cs
- GridViewEditEventArgs.cs
- precedingquery.cs
- WindowsFormsHelpers.cs
- DesignerRegionMouseEventArgs.cs
- ContextProperty.cs
- InternalRelationshipCollection.cs
- EntityDataSourceDesignerHelper.cs
- PrintDialog.cs
- nulltextnavigator.cs
- TraceSection.cs
- TraceListeners.cs
- XPathPatternParser.cs
- Journaling.cs
- BinHexEncoding.cs
- UncommonField.cs
- EventHandlerList.cs
- ConfigurationException.cs
- ResourceAssociationType.cs
- SingleAnimationUsingKeyFrames.cs
- ExtentKey.cs
- RuntimeHelpers.cs
- PreviewPageInfo.cs
- ConfigurationPropertyCollection.cs
- LocalFileSettingsProvider.cs
- InternalReceiveMessage.cs
- InputScope.cs
- DataGridViewHeaderCell.cs
- CustomAttribute.cs
- AppSettingsExpressionBuilder.cs
- DesignerResources.cs
- ErrorWrapper.cs
- MdiWindowListItemConverter.cs
- XmlElementAttributes.cs
- Tuple.cs
- CodeSnippetStatement.cs
- WebRequestModuleElementCollection.cs
- CTreeGenerator.cs
- TypeToken.cs
- NetStream.cs
- InkCanvasAutomationPeer.cs
- HitTestFilterBehavior.cs
- EntityException.cs
- StringFunctions.cs
- LoadedOrUnloadedOperation.cs
- WindowsTokenRoleProvider.cs
- Thickness.cs
- NamespaceList.cs
- KnownBoxes.cs
- RewritingProcessor.cs
- Utility.cs
- WSHttpBindingBaseElement.cs
- DecoratedNameAttribute.cs
- Regex.cs
- ConfigXmlComment.cs
- AbsoluteQuery.cs
- LinqDataView.cs
- ContextBase.cs
- PropertySourceInfo.cs
- CipherData.cs
- ImportedNamespaceContextItem.cs
- PanelStyle.cs
- CompensatableSequenceActivity.cs
- LocalBuilder.cs
- QueryableDataSourceHelper.cs
- TypeBuilderInstantiation.cs
- InvalidPrinterException.cs
- util.cs
- DbConnectionPool.cs
- AttachmentCollection.cs
- FirewallWrapper.cs
- WebBrowserBase.cs
- FreezableOperations.cs
- Ops.cs
- EventMappingSettings.cs