Code:
/ FX-1434 / FX-1434 / 1.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
- UserPreferenceChangingEventArgs.cs
- ConfigXmlElement.cs
- SamlSecurityToken.cs
- Menu.cs
- ConditionCollection.cs
- SoapObjectWriter.cs
- Accessible.cs
- validationstate.cs
- BrowserDefinitionCollection.cs
- InfoCardSymmetricAlgorithm.cs
- NativeMethods.cs
- PerfService.cs
- MessageQueueCriteria.cs
- ADConnectionHelper.cs
- MaterializeFromAtom.cs
- DataServiceQueryProvider.cs
- DependencyObject.cs
- SemanticResolver.cs
- CriticalExceptions.cs
- MessageRpc.cs
- OleTxTransaction.cs
- TextDecorationCollectionConverter.cs
- Authorization.cs
- SweepDirectionValidation.cs
- PagesSection.cs
- ReturnEventArgs.cs
- FigureHelper.cs
- CalculatedColumn.cs
- UserPreferenceChangedEventArgs.cs
- IsolatedStorageFile.cs
- GetWorkflowTree.cs
- SystemDiagnosticsSection.cs
- PowerModeChangedEventArgs.cs
- SoapTypeAttribute.cs
- _NestedSingleAsyncResult.cs
- HandleRef.cs
- XamlSerializationHelper.cs
- Int32Converter.cs
- MsmqHostedTransportManager.cs
- X509InitiatorCertificateClientElement.cs
- NavigatorOutput.cs
- XmlSchemaInclude.cs
- Events.cs
- Vector3DCollection.cs
- EpmTargetTree.cs
- DesignBindingEditor.cs
- StringValidator.cs
- SByteStorage.cs
- GPRECTF.cs
- LabelLiteral.cs
- DateTimeFormatInfoScanner.cs
- AlphabeticalEnumConverter.cs
- HttpProfileBase.cs
- PowerModeChangedEventArgs.cs
- VisemeEventArgs.cs
- SourceSwitch.cs
- ListItem.cs
- WinCategoryAttribute.cs
- XmlNamespaceDeclarationsAttribute.cs
- DiscoveryDocument.cs
- Configuration.cs
- ApplicationManager.cs
- AssertSection.cs
- ConditionValidator.cs
- CookielessHelper.cs
- TraceRecord.cs
- DateBoldEvent.cs
- ScrollChangedEventArgs.cs
- SessionStateSection.cs
- DataSpaceManager.cs
- IconBitmapDecoder.cs
- CodeSnippetExpression.cs
- OleDbSchemaGuid.cs
- ExceptionUtil.cs
- SafeNativeMethods.cs
- PeerNameRecordCollection.cs
- AliasedSlot.cs
- SqlProviderManifest.cs
- ObjectQuery.cs
- AdornerPresentationContext.cs
- MatrixTransform.cs
- Brush.cs
- ControlCommandSet.cs
- NotSupportedException.cs
- BasicCellRelation.cs
- EntityViewGenerationAttribute.cs
- FormView.cs
- CodeParameterDeclarationExpression.cs
- ArrayList.cs
- ControlUtil.cs
- MethodBody.cs
- RadioButtonStandardAdapter.cs
- TextRenderer.cs
- SystemResources.cs
- XPathAxisIterator.cs
- KeyConverter.cs
- DataProtectionSecurityStateEncoder.cs
- MasterPageBuildProvider.cs
- DBAsyncResult.cs
- SecurityManager.cs