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
- GroupBox.cs
- TextLine.cs
- UntrustedRecipientException.cs
- XmlHierarchicalDataSourceView.cs
- ParameterModifier.cs
- FtpWebResponse.cs
- ClientType.cs
- SocketStream.cs
- SoapSchemaExporter.cs
- DelegateSerializationHolder.cs
- XmlParserContext.cs
- DataGridViewCellStyleBuilderDialog.cs
- Int32AnimationUsingKeyFrames.cs
- ReflectionUtil.cs
- WebPartConnectionsCloseVerb.cs
- XmlAnyAttributeAttribute.cs
- ImageSource.cs
- BindingCompleteEventArgs.cs
- MessageAction.cs
- TextEffectCollection.cs
- PrintDialog.cs
- RecognizerBase.cs
- WindowsGraphicsCacheManager.cs
- GestureRecognitionResult.cs
- HwndTarget.cs
- RelatedView.cs
- returneventsaver.cs
- MultitargetingHelpers.cs
- GridView.cs
- LoginName.cs
- XmlUtil.cs
- ColorConverter.cs
- RegisteredScript.cs
- PipelineModuleStepContainer.cs
- NavigatorOutput.cs
- FlowDocumentPaginator.cs
- NameTable.cs
- ValidationErrorEventArgs.cs
- OdbcConnectionFactory.cs
- WebServiceResponseDesigner.cs
- DisplayClaim.cs
- VariableModifiersHelper.cs
- RequestCacheEntry.cs
- ImagingCache.cs
- XmlText.cs
- TextProviderWrapper.cs
- IdentitySection.cs
- DeploymentExceptionMapper.cs
- ResolveMatchesApril2005.cs
- StandardToolWindows.cs
- XmlSchemaImport.cs
- FlowLayoutPanel.cs
- TextTreeUndoUnit.cs
- PagerSettings.cs
- TagMapInfo.cs
- SetStateDesigner.cs
- PropertyTabAttribute.cs
- DashStyles.cs
- DataGridViewRowDividerDoubleClickEventArgs.cs
- GridItemCollection.cs
- StrongNamePublicKeyBlob.cs
- DigestTraceRecordHelper.cs
- SecurityRuntime.cs
- LowerCaseStringConverter.cs
- ValidationSummary.cs
- UnsafeNativeMethods.cs
- DotNetATv1WindowsLogEntryDeserializer.cs
- UserControlBuildProvider.cs
- SchemaCreator.cs
- PropertyGeneratedEventArgs.cs
- BooleanAnimationUsingKeyFrames.cs
- ProfilePropertySettings.cs
- Animatable.cs
- ObsoleteAttribute.cs
- StylusPoint.cs
- ColumnMapVisitor.cs
- RegisteredDisposeScript.cs
- XPathDocumentNavigator.cs
- ActivityTypeResolver.xaml.cs
- Opcode.cs
- RSACryptoServiceProvider.cs
- PermissionSet.cs
- CompilerGlobalScopeAttribute.cs
- ListItemCollection.cs
- MetaTableHelper.cs
- ControlCollection.cs
- ScalarOps.cs
- DataShape.cs
- WebHttpBinding.cs
- SchemaElementLookUpTable.cs
- RenamedEventArgs.cs
- InstalledFontCollection.cs
- DbUpdateCommandTree.cs
- URIFormatException.cs
- WindowsGraphicsCacheManager.cs
- MenuBindingsEditor.cs
- _SecureChannel.cs
- AddInSegmentDirectoryNotFoundException.cs
- WebPartHelpVerb.cs
- EventManager.cs