Code:
/ DotNET / DotNET / 8.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
- XLinq.cs
- HtmlInputReset.cs
- DataServiceBuildProvider.cs
- MembershipValidatePasswordEventArgs.cs
- MethodSet.cs
- DropShadowEffect.cs
- OdbcConnectionFactory.cs
- CryptoStream.cs
- DeploymentSection.cs
- StringArrayConverter.cs
- MethodRental.cs
- SharedUtils.cs
- altserialization.cs
- BooleanStorage.cs
- ProcessProtocolHandler.cs
- SqlBooleanMismatchVisitor.cs
- Stack.cs
- DataBoundControlAdapter.cs
- FixedTextSelectionProcessor.cs
- TextInfo.cs
- User.cs
- Instrumentation.cs
- XmlQualifiedNameTest.cs
- QilChoice.cs
- SourceLineInfo.cs
- StyleTypedPropertyAttribute.cs
- LocatorPart.cs
- CheckBoxField.cs
- _LazyAsyncResult.cs
- MDIWindowDialog.cs
- RepeatBehaviorConverter.cs
- CompositeControlDesigner.cs
- QuestionEventArgs.cs
- UnmanagedBitmapWrapper.cs
- Model3DCollection.cs
- GridViewColumnHeaderAutomationPeer.cs
- EntityConnectionStringBuilderItem.cs
- TreeNode.cs
- PathSegmentCollection.cs
- DataGridTemplateColumn.cs
- SimpleType.cs
- OleDbError.cs
- PagePropertiesChangingEventArgs.cs
- SplashScreen.cs
- ImageInfo.cs
- SqlDataSource.cs
- CacheDependency.cs
- DataGridViewCheckBoxColumn.cs
- ExpressionCopier.cs
- PageContent.cs
- UIPermission.cs
- SchemaMapping.cs
- HtmlInputImage.cs
- ScriptModule.cs
- DataGridItemAttachedStorage.cs
- HttpStreamXmlDictionaryWriter.cs
- SchemaHelper.cs
- URI.cs
- DataService.cs
- WebPartTransformer.cs
- CompiledQueryCacheEntry.cs
- WindowsMenu.cs
- CallTemplateAction.cs
- QilStrConcat.cs
- UidManager.cs
- PnrpPermission.cs
- BufferedGraphicsManager.cs
- URI.cs
- EtwTrace.cs
- QilScopedVisitor.cs
- BuiltInExpr.cs
- SignatureHelper.cs
- WorkflowInstance.cs
- BitmapEffectInputData.cs
- TreeViewItem.cs
- XmlAttributeAttribute.cs
- PageVisual.cs
- BinaryNode.cs
- CanonicalXml.cs
- DecoderNLS.cs
- CFStream.cs
- SatelliteContractVersionAttribute.cs
- CommandPlan.cs
- TreeViewItem.cs
- Nodes.cs
- DataSpaceManager.cs
- ImageListStreamer.cs
- FlowDecisionLabelFeature.cs
- ModelUIElement3D.cs
- Rect3DValueSerializer.cs
- AssemblyResourceLoader.cs
- ColumnResizeAdorner.cs
- LassoSelectionBehavior.cs
- MediaPlayer.cs
- WindowsGrip.cs
- GridViewUpdatedEventArgs.cs
- InputMethod.cs
- HttpConfigurationSystem.cs
- ReadWriteObjectLock.cs
- WhitespaceRuleLookup.cs