Code:
/ Dotnetfx_Vista_SP2 / Dotnetfx_Vista_SP2 / 8.0.50727.4016 / DEVDIV / depot / DevDiv / releases / whidbey / NetFxQFE / 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
- Monitor.cs
- FamilyCollection.cs
- WebPartDisplayModeEventArgs.cs
- ColorConvertedBitmapExtension.cs
- Lookup.cs
- CqlIdentifiers.cs
- SqlDataSourceCache.cs
- SqlDependencyUtils.cs
- ToolStrip.cs
- DoWhileDesigner.xaml.cs
- FunctionImportMapping.ReturnTypeRenameMapping.cs
- XmlCollation.cs
- OdbcConnectionFactory.cs
- ByteArrayHelperWithString.cs
- ContainerParagraph.cs
- AppSecurityManager.cs
- storepermissionattribute.cs
- XmlSchemaFacet.cs
- MeshGeometry3D.cs
- X509CertificateValidator.cs
- Model3D.cs
- PermissionToken.cs
- WindowAutomationPeer.cs
- Exceptions.cs
- MultiBinding.cs
- DataSysAttribute.cs
- DataGridViewRowHeaderCell.cs
- Int64AnimationUsingKeyFrames.cs
- TypeSystem.cs
- SendSecurityHeaderElementContainer.cs
- PtsHelper.cs
- NavigationPropertyEmitter.cs
- BreadCrumbTextConverter.cs
- XmlDataSourceNodeDescriptor.cs
- NamedObject.cs
- ValueTypeFixupInfo.cs
- HttpValueCollection.cs
- Container.cs
- DataGridViewAutoSizeColumnModeEventArgs.cs
- UpdateManifestForBrowserApplication.cs
- SqlBooleanMismatchVisitor.cs
- ScopelessEnumAttribute.cs
- Facet.cs
- DynamicUpdateCommand.cs
- XPathItem.cs
- ByteStreamGeometryContext.cs
- StructuralCache.cs
- DesignerVerb.cs
- IxmlLineInfo.cs
- ContentElementAutomationPeer.cs
- TreeSet.cs
- Tuple.cs
- FrameDimension.cs
- TcpChannelHelper.cs
- _RequestLifetimeSetter.cs
- PageFunction.cs
- PageRanges.cs
- ToolStripDropDownClosingEventArgs.cs
- RepeaterItemEventArgs.cs
- FixedDSBuilder.cs
- DataServiceCollectionOfT.cs
- Encoder.cs
- TargetControlTypeCache.cs
- SafeLocalMemHandle.cs
- WsatTransactionFormatter.cs
- CompilerGlobalScopeAttribute.cs
- ToolboxComponentsCreatedEventArgs.cs
- CharacterBuffer.cs
- HostProtectionException.cs
- FlowDocumentPageViewerAutomationPeer.cs
- TransactionBridgeSection.cs
- IncrementalCompileAnalyzer.cs
- EntityDataSourceColumn.cs
- ColorKeyFrameCollection.cs
- GroupStyle.cs
- PropertyGridView.cs
- PathTooLongException.cs
- InfoCardRSAPKCS1SignatureFormatter.cs
- ParenthesizePropertyNameAttribute.cs
- ReaderWriterLockWrapper.cs
- TypeElementCollection.cs
- PrivateUnsafeNativeCompoundFileMethods.cs
- UrlParameterReader.cs
- CompiledAction.cs
- SapiAttributeParser.cs
- CodeSubDirectoriesCollection.cs
- SoapExtensionReflector.cs
- PbrsForward.cs
- XmlObjectSerializerReadContext.cs
- _SSPIWrapper.cs
- ServiceSecurityAuditElement.cs
- ConnectionInterfaceCollection.cs
- IntegerValidator.cs
- DataGridViewCheckBoxCell.cs
- PrivilegeNotHeldException.cs
- DataRowView.cs
- IPipelineRuntime.cs
- Collection.cs
- COMException.cs
- ParameterBinding.cs