Code:
/ DotNET / DotNET / 8.0 / untmp / whidbey / REDBITS / ndp / fx / src / Designer / WebForms / System / Web / UI / Design / WebControls / SqlDataSourceQueryEditor.cs / 1 / SqlDataSourceQueryEditor.cs
//------------------------------------------------------------------------------ //// Copyright (c) Microsoft Corporation. All rights reserved. // //----------------------------------------------------------------------------- namespace System.Web.UI.Design.WebControls { using System; using System.ComponentModel; using System.ComponentModel.Design; using System.Design; using System.Diagnostics; using System.Drawing.Design; using System.Web.UI.Design.Util; using System.Web.UI.WebControls; using System.Windows.Forms; ////// The editor for SqlDataSource queries. /// internal sealed class SqlDataSourceQueryEditor : UITypeEditor { ////// Transacted change callback to invoke the Edit Query dialog. /// private bool EditQueryChangeCallback(object context) { SqlDataSource sqlDataSource = (SqlDataSource)((Pair)context).First; DataSourceOperation operation = (DataSourceOperation)((Pair)context).Second; IServiceProvider serviceProvider = sqlDataSource.Site; IDesignerHost designerHost = (IDesignerHost)serviceProvider.GetService(typeof(IDesignerHost)); Debug.Assert(designerHost != null, "Did not get DesignerHost service."); SqlDataSourceDesigner designer = (SqlDataSourceDesigner)designerHost.GetDesigner(sqlDataSource); ParameterCollection parameterCollection = null; string command = String.Empty; SqlDataSourceCommandType commandType = SqlDataSourceCommandType.Text; switch (operation) { case DataSourceOperation.Delete: parameterCollection = sqlDataSource.DeleteParameters; command = sqlDataSource.DeleteCommand; commandType = sqlDataSource.DeleteCommandType; break; case DataSourceOperation.Insert: parameterCollection = sqlDataSource.InsertParameters; command = sqlDataSource.InsertCommand; commandType = sqlDataSource.InsertCommandType; break; case DataSourceOperation.Select: parameterCollection = sqlDataSource.SelectParameters; command = sqlDataSource.SelectCommand; commandType = sqlDataSource.SelectCommandType; break; case DataSourceOperation.Update: parameterCollection = sqlDataSource.UpdateParameters; command = sqlDataSource.UpdateCommand; commandType = sqlDataSource.UpdateCommandType; break; } SqlDataSourceQueryEditorForm form = new SqlDataSourceQueryEditorForm(serviceProvider, designer, sqlDataSource.ProviderName, designer.ConnectionString, operation, commandType, command, parameterCollection); DialogResult result = UIServiceHelper.ShowDialog(serviceProvider, form); if (result == DialogResult.OK) { // We use the property descriptors to reset the values to // make sure we clear out any databindings or expressions that // may be set. PropertyDescriptor propDesc = null; switch (operation) { case DataSourceOperation.Delete: propDesc = TypeDescriptor.GetProperties(sqlDataSource)["DeleteCommand"]; break; case DataSourceOperation.Insert: propDesc = TypeDescriptor.GetProperties(sqlDataSource)["InsertCommand"]; break; case DataSourceOperation.Select: propDesc = TypeDescriptor.GetProperties(sqlDataSource)["SelectCommand"]; break; case DataSourceOperation.Update: propDesc = TypeDescriptor.GetProperties(sqlDataSource)["UpdateCommand"]; break; } if (propDesc != null) { propDesc.ResetValue(sqlDataSource); propDesc.SetValue(sqlDataSource, form.Command); } else { Debug.Fail("Unexpected DataSourceOperation: " + operation); } return true; } else { return false; } } ////// Launches the editor for SqlDataSource queries. /// public override object EditValue(ITypeDescriptorContext context, IServiceProvider provider, object value) { ControlDesigner.InvokeTransactedChange( (IComponent)context.Instance, new TransactedChangeCallback(EditQueryChangeCallback), new Pair(context.Instance, value), SR.GetString(SR.SqlDataSourceDesigner_EditQueryTransactionDescription)); return value; } ////// Gets the editing style of the Edit method. /// public override UITypeEditorEditStyle GetEditStyle(ITypeDescriptorContext context) { return UITypeEditorEditStyle.Modal; } } } // File provided for Reference Use Only by Microsoft Corporation (c) 2007. // Copyright (c) Microsoft Corporation. All rights reserved.
Link Menu
This book is available now!
Buy at Amazon US or
Buy at Amazon UK
- TransactionScope.cs
- ListItemConverter.cs
- DesignerAutoFormatStyle.cs
- Win32.cs
- DesignerSerializationOptionsAttribute.cs
- MTConfigUtil.cs
- JsonSerializer.cs
- DirectoryObjectSecurity.cs
- PlaceHolder.cs
- TransportSecurityHelpers.cs
- XPathException.cs
- DictionaryEntry.cs
- InputBindingCollection.cs
- TemplateControlBuildProvider.cs
- UnsafeNativeMethods.cs
- CharUnicodeInfo.cs
- GeometryConverter.cs
- SoapReflectionImporter.cs
- SaveFileDialog.cs
- Intellisense.cs
- NonClientArea.cs
- versioninfo.cs
- __FastResourceComparer.cs
- IssuedTokenServiceElement.cs
- Transform3DCollection.cs
- ConfigurationValues.cs
- QueryGenerator.cs
- Int16AnimationUsingKeyFrames.cs
- ChannelTraceRecord.cs
- NativeMethods.cs
- XsltFunctions.cs
- XmlEntity.cs
- NonParentingControl.cs
- StatusBarDrawItemEvent.cs
- XpsFilter.cs
- LabelAutomationPeer.cs
- DesignerDataParameter.cs
- StyleXamlParser.cs
- VisualStyleInformation.cs
- TreeNodeConverter.cs
- TraceFilter.cs
- ThemeDirectoryCompiler.cs
- TransformerInfo.cs
- BypassElementCollection.cs
- WindowAutomationPeer.cs
- DataObjectCopyingEventArgs.cs
- SqlColumnizer.cs
- RegionInfo.cs
- AssemblyUtil.cs
- Exceptions.cs
- UnionCodeGroup.cs
- ProfileParameter.cs
- BitmapEffect.cs
- EventDescriptor.cs
- ScriptingRoleServiceSection.cs
- WebZone.cs
- SmiTypedGetterSetter.cs
- ZoneMembershipCondition.cs
- SQLInt32Storage.cs
- ScrollEventArgs.cs
- MultiPageTextView.cs
- GlobalizationSection.cs
- ClaimSet.cs
- CodeTypeMember.cs
- PathBox.cs
- ISAPIRuntime.cs
- SerialReceived.cs
- BamlTreeUpdater.cs
- RuleSetReference.cs
- NamedPermissionSet.cs
- ChameleonKey.cs
- SoapAttributes.cs
- InfoCardRSACryptoProvider.cs
- RealizationContext.cs
- SplashScreenNativeMethods.cs
- PrintingPermission.cs
- AsyncPostBackErrorEventArgs.cs
- ToolStripLocationCancelEventArgs.cs
- IisTraceListener.cs
- DetectEofStream.cs
- SecurityRuntime.cs
- XPathMessageContext.cs
- FunctionNode.cs
- BooleanExpr.cs
- DefaultShape.cs
- TypeSystem.cs
- MouseActionConverter.cs
- LabelInfo.cs
- LocatorBase.cs
- DispatcherTimer.cs
- _DigestClient.cs
- ServerReliableChannelBinder.cs
- StringValueConverter.cs
- SByte.cs
- ClientFactory.cs
- ListViewInsertedEventArgs.cs
- RectangleConverter.cs
- DbSourceCommand.cs
- ExpressionConverter.cs
- FilterQuery.cs