void ShowDataSourceInfo(DataSourceInfoArgs args)
		{
			ModalDialog dlg = new ModalDialog();
			dlg.Caption = Localization.DataSourceInfoDialog_Caption;
			dlg.MinHeight = 300;
			dlg.MinWidth = 400;
			dlg.Height = 400;
			dlg.Width = 500;

			DataSourceInfoControl DSInfo = new DataSourceInfoControl();
			dlg.Content = DSInfo;
			DSInfo.UpdateScriptVisibility = PivotGrid.CanEdit;
			DSInfo.Initialize(args);

			ShowDialog(dlg);
		}
        public void Initialize(DataSourceInfoArgs args)
        {
            m_Args = args;
            if (args != null)
            {
                mdxQuery.Text = args.MDXQuery != null ? args.MDXQuery : String.Empty;
                updateScript.Text = args.UpdateScript != null ? args.UpdateScript : String.Empty;
                connectionString.Text = args.ConnectionString != null ? args.ConnectionString : String.Empty;
                movedAxes_MdxQuery.Text = args.MovedAxes_MDXQuery != null ? args.MovedAxes_MDXQuery : String.Empty;
                if (!String.IsNullOrEmpty(args.Parsed_MDXQuery))
                { 
                    parseMdx.Visibility = Visibility.Visible; 
                }
                else
                {
                    parseMdx.Visibility = Visibility.Collapsed;
                }

                if (!String.IsNullOrEmpty(args.Parsed_MovedAxes_MDXQuery))
                {
                    parseMovedAxesMdx.Visibility = Visibility.Visible;
                }
                else
                {
                    parseMovedAxesMdx.Visibility = Visibility.Collapsed;
                }

                if (!String.IsNullOrEmpty(args.Parsed_UpdateScript))
                {
                    parseUpdateScript.Visibility = Visibility.Visible;
                }
                else
                {
                    parseUpdateScript.Visibility = Visibility.Collapsed;
                }
            }
            else
            {
                mdxQuery.Text = String.Empty;
                updateScript.Text = String.Empty;
                connectionString.Text = String.Empty;
                movedAxes_MdxQuery.Text = String.Empty;
                parseMdx.Visibility = Visibility.Collapsed;
                parseMovedAxesMdx.Visibility = Visibility.Collapsed;
                parseUpdateScript.Visibility = Visibility.Collapsed;
            }
        }
        public virtual DataSourceInfoArgs GetDataSourceInfo(UpdateEntry entry)
        {
            DataSourceInfoArgs res = new DataSourceInfoArgs();

            try
            {
                using (MdxDomProvider provider = MdxDomProvider.CreateProvider())
                {
                    StringBuilder sb = new StringBuilder();
                    provider.GenerateMdxFromDom(this.CreateWrappedStatement(), sb, new MdxGeneratorOptions());

                    String new_Query = sb.ToString();

                    res.MDXQuery = new_Query;
                    res.MovedAxes_MDXQuery = MoveAxes(new_Query);
                }
            }
            catch (Exception ex)
            {
                res.MDXQuery = ex.ToString();
            }

            //res.ConnectionString = Connection.ConnectionID;
            res.UpdateScript = UpdateScript;

            return res;
        }
        void ShowDataSourceInfo(DataSourceInfoArgs args)
        {
            if (args != null)
            {
                ModalDialog dlg = new ModalDialog();
                dlg.Caption = Localization.DataSourceInfoDialog_Caption;
                dlg.MinHeight = 300;
                dlg.MinWidth = 400;
                dlg.Height = 400;
                dlg.Width = 500;

                DataSourceInfoControl DSInfo = new DataSourceInfoControl();
                dlg.Content = DSInfo;
                DSInfo.UpdateScriptVisibility = PivotGrid.CanEdit;
                DSInfo.Initialize(args);

                // На время убираем контекстное меню сводной таблицы
                dlg.DialogClosed += new EventHandler<DialogResultArgs>(Dlg_DialogClosed);
                PivotGrid.UseContextMenu = false;

                dlg.Show();
            }
        }