private async void AddCollection_ClickAsync(object sender, RoutedEventArgs e)
        {
            int count   = MainWindow.CloudStorages.Count;
            int current = 1;

            MainWindow.mainWindow.BPTree = new BPTree <int, CloudStorage>();
            DataGrid.BeginInit();
            MainWindow.mainWindow.StartMethod("В+ дерево, вставка елементів з поточних даних");
            await Task.Run(() =>
            {
                foreach (var storage in MainWindow.CloudStorages)
                {
                    MainWindow.mainWindow.BPTree.Add(current, storage);
                    MainWindow.percentDone = current * 100 / count;
                    current++;
                    if (!MainWindow.mainWindow.run)
                    {
                        return;
                    }
                }
            });

            MainWindow.mainWindow.EndMethod();
            DataGrid.EndInit();
            DataGrid.ItemsSource = null;
            DataGrid.ItemsSource = MainWindow.mainWindow.BPTree.ToCollection();
        }
示例#2
0
 private void DataGridResize(ref DataGrid grd, int iColumnCount)
 {
     grd.BeginInit();
     foreach (DataGridTableStyle grdStyle in grd.TableStyles)
     {
         try
         {
             int width = grd.Width - 56;                    //53;//real is 56
             GridColumnStylesCollection cols = grdStyle.GridColumnStyles;
             int oldwidth = 0;
             for (byte i = 0; i < iColumnCount; i++)
             {
                 oldwidth = oldwidth + cols[i].Width;                       // col.Width;
             }
             if (oldwidth == 0)
             {
                 return;
             }
             int    count = grdStyle.GridColumnStyles.Count;
             double scale = 1.0 * width / oldwidth;
             foreach (DataGridColumnStyle col in cols)
             {
                 col.Width = (int)(col.Width * scale);
             }
         }
         catch (Exception ex)
         {
             log.Error(ex.Message, ex);
         }
     }
     grd.EndInit();
 }
        private async void AddButton_ClickAsync(object sender, RoutedEventArgs e)
        {
            string personName   = NewPersonName.Text;
            string providerName = NewCompanyName.Text;
            string catalogName  = NewCatalogName.Text;
            int    key;

            if (!int.TryParse(KeyBox.Text, out key))
            {
                key = MainWindow.mainWindow.BPTree.Count + 1;
            }
            DataGrid.BeginInit();
            MainWindow.mainWindow.StartMethod("В+ дерево, вставка елемента");
            await Task.Run(() =>
            {
                // Dispatcher.Invoke(() =>
                // {
                try
                {
                    MainWindow.mainWindow.BPTree.AddOrReplace(key, new CloudStorage(personName, providerName, catalogName));
                }
                catch
                {
                }
                // }
                // );
            });

            MainWindow.mainWindow.EndMethod();
            DataGrid.EndInit();
            DataGrid.ItemsSource = null;
            DataGrid.ItemsSource = MainWindow.mainWindow.BPTree.ToCollection();
            ClearTextBoxes();
        }
        private async void AddButton_ClickAsync(object sender, RoutedEventArgs e)
        {
            string personName   = NewPersonName.Text;
            string providerName = NewCompanyName.Text;
            string catalogName  = NewCatalogName.Text;
            int    key;

            if (!int.TryParse(KeyBox.Text, out key))
            {
                key = DataGrid.Items.Count + 1;
            }
            DataGrid.BeginInit();
            MainWindow.mainWindow.StartMethod("Хеш таблиця (квадратичне зондування), вставка елемента");
            await Task.Run(() =>
            {
                // Dispatcher.Invoke(() =>
                // {

                MainWindow.mainWindow.chainingHashTable.Add(key, new CloudStorage(personName, providerName, catalogName));
                //}
                // }
                // );
            });

            MainWindow.mainWindow.EndMethod();
            DataGrid.EndInit();
            DataGrid.ItemsSource = null;
            DataGrid.ItemsSource = MainWindow.mainWindow.chainingHashTable.ToCollection();
            ClearTextBoxes();
        }
        private async void AddCollection_ClickAsync(object sender, RoutedEventArgs e)
        {
            int count   = MainWindow.CloudStorages.Count;
            int current = 1;

            MainWindow.mainWindow.chainingHashTable = new SeparateChainingHashTable <int, CloudStorage>();
            DataGrid.BeginInit();
            MainWindow.mainWindow.StartMethod("Хеш таблиця (квадратичне зондування), вставка елементів з поточних даних");
            await Task.Run(() =>
            {
                foreach (var storage in MainWindow.CloudStorages)
                {
                    MainWindow.mainWindow.chainingHashTable.Add(current, storage);
                    MainWindow.percentDone = current * 100 / count;
                    current++;
                    if (!MainWindow.mainWindow.run)
                    {
                        return;
                    }
                }
            });

            MainWindow.mainWindow.EndMethod();
            DataGrid.EndInit();
            DataGrid.ItemsSource = null;
            DataGrid.ItemsSource = MainWindow.mainWindow.chainingHashTable.ToCollection();
        }
示例#6
0
        /// <summary>
        /// Handle the data grid that auto resize column width
        /// </summary>
        /// <param name="sender"></param>
        /// <param name="e"></param>
        /// <remarks>
        /// Author		:	PhatLT G3
        /// Created day	:	04/10/2011
        /// </remarks>
        private static void DataGrid_Resize(object sender, EventArgs e)
        {
            if (sender == null)
            {
                return;
            }

            DataGrid grd = (DataGrid)sender;

//			DataGridTableStyle grdStyle = grd.TableStyles[0];
//			if(grdStyle == null || grdStyle.GridColumnStyles == null || grdStyle.GridColumnStyles.Count == 0)
//				return;

            grd.BeginInit();

            foreach (DataGridTableStyle grdStyle in grd.TableStyles)
            {
                int width = grd.Width - 56;                //53;//real is 56

                GridColumnStylesCollection cols = grdStyle.GridColumnStyles;

                //calculate total of col
                int oldwidth = 0;
                foreach (DataGridColumnStyle col in cols)
                {
                    oldwidth = oldwidth + col.Width;
                }

                if (oldwidth == 0)
                {
                    return;
                }

                int count = grdStyle.GridColumnStyles.Count;

                double scale = 1.0 * width / oldwidth;
                foreach (DataGridColumnStyle col in cols)
                {
                    if (col.Width != 0)
                    {
                        col.Width = (int)(col.Width * scale);
                    }
                }
            }

            grd.EndInit();
        }
示例#7
0
        private async void DeleteButton_ClickAsync(object sender, RoutedEventArgs e)
        {
            int key;

            if (!int.TryParse(KeyBox.Text, out key))
            {
                return;
            }
            DataGrid.BeginInit();
            MainWindow.mainWindow.StartMethod("Контейнер, видалення елемента");
            await Task.Run(() =>
            {
                Dispatcher.Invoke(() => MainWindow.mainWindow.container.RemoveByKey(key));
            });

            MainWindow.mainWindow.EndMethod();
            DataGrid.EndInit();
            DataGrid.ItemsSource = null;
            DataGrid.ItemsSource = MainWindow.mainWindow.container.ToDictionary();
            ClearTextBoxes();
        }
        private async void DeleteButton_ClickAsync(object sender, RoutedEventArgs e)
        {
            int key;

            if (!int.TryParse(KeyBox.Text, out key))
            {
                return;
            }
            DataGrid.BeginInit();
            MainWindow.mainWindow.StartMethod("Хеш таблиця (квадратичне зондування), видалення елемента");
            await Task.Run(() =>
            {
                Dispatcher.Invoke(() => MainWindow.mainWindow.chainingHashTable.Remove(key));
            });

            MainWindow.mainWindow.EndMethod();
            DataGrid.EndInit();
            DataGrid.ItemsSource = null;
            DataGrid.ItemsSource = MainWindow.mainWindow.chainingHashTable.ToCollection();
            ClearTextBoxes();
        }
        private async void DeleteButton_ClickAsync(object sender, RoutedEventArgs e)
        {
            int key;

            if (!int.TryParse(KeyBox.Text, out key))
            {
                return;
            }
            DataGrid.BeginInit();
            MainWindow.mainWindow.StartMethod("В+ дерево, видалення елемента");
            await Task.Run(() =>
            {
                CloudStorage resValue;
                Dispatcher.Invoke(() => MainWindow.mainWindow.BPTree.Remove(key, out resValue));
            });

            MainWindow.mainWindow.EndMethod();
            DataGrid.EndInit();
            DataGrid.ItemsSource = null;
            DataGrid.ItemsSource = MainWindow.mainWindow.BPTree.ToCollection();
            ClearTextBoxes();
        }
示例#10
0
        private async void DeleteButton_ClickAsync(object sender, RoutedEventArgs e)
        {
            string personName   = NewPersonName.Text;
            string providerName = NewCompanyName.Text;
            string catalogName  = NewCatalogName.Text;

            DataGrid.BeginInit();
            MainWindow.mainWindow.StartMethod("Червоно-чорне дерево, видалення елемента");
            await Task.Run(() =>
            {
                Dispatcher.Invoke(() =>
                {
                    MainWindow.mainWindow.RedBlackTree.Remove(new CloudStorage(personName, providerName, catalogName));
                });
            });

            MainWindow.mainWindow.EndMethod();
            DataGrid.EndInit();
            DataGrid.ItemsSource = null;
            DataGrid.ItemsSource = MainWindow.mainWindow.RedBlackTree.ToCollection();
            ClearTextBoxes();
        }
示例#11
0
文件: Miscellany.cs 项目: zilo312/aa
 /// <summary>
 /// Construct the window.
 /// </summary>
 /// <remarks>
 /// This method constructs the window by creating both the data grid and the button.
 /// </remarks>
 public Miscellany( )
 {
     this.AutoScaleBaseSize = new System.Drawing.Size(5, 13);
     this.ClientSize        = new System.Drawing.Size(464, 253);
     this.Text     = "12_Miscellany";
     this.dataGrid = new DataGrid();
     dataGrid.BeginInit();
     dataGrid.Location = new System.Drawing.Point(8, 8);
     dataGrid.Size     = new System.Drawing.Size(448, 208);
     dataGrid.TabIndex = 0;
     dataGrid.Anchor   = AnchorStyles.Left | AnchorStyles.Right | AnchorStyles.Top | AnchorStyles.Bottom;
     dataGrid.MouseUp += new MouseEventHandler(this.dataGrid_MouseUp);
     this.Controls.Add(this.dataGrid);
     dataGrid.EndInit();
     this.retrieveButton     = new Button();
     retrieveButton.Location = new System.Drawing.Point(384, 224);
     retrieveButton.Size     = new System.Drawing.Size(75, 23);
     retrieveButton.TabIndex = 1;
     retrieveButton.Anchor   = AnchorStyles.Bottom | AnchorStyles.Right;
     retrieveButton.Text     = "Retrieve";
     retrieveButton.Click   += new System.EventHandler(this.retrieveButton_Click);
     this.Controls.Add(this.retrieveButton);
 }
示例#12
0
 /// <summary>
 /// Construct the window.
 /// </summary>
 /// <remarks>
 /// This method constructs the window by creating both the data grid and the button.
 /// </remarks>
 public Miscellany( )
 {
     this.AutoScaleBaseSize = new System.Drawing.Size (5, 13);
     this.ClientSize = new System.Drawing.Size (464, 253);
     this.Text = "11_Miscellany" ;
     this.dataGrid = new DataGrid ();
     dataGrid.BeginInit ();
     dataGrid.Location = new System.Drawing.Point (8, 8);
     dataGrid.Size = new System.Drawing.Size (448, 208);
     dataGrid.TabIndex = 0;
     dataGrid.Anchor = AnchorStyles.Left | AnchorStyles.Right | AnchorStyles.Top | AnchorStyles.Bottom ;
     dataGrid.MouseUp += new MouseEventHandler (this.dataGrid_MouseUp);
     this.Controls.Add (this.dataGrid);
     dataGrid.EndInit ();
     this.retrieveButton = new Button ();
     retrieveButton.Location = new System.Drawing.Point (384, 224);
     retrieveButton.Size = new System.Drawing.Size (75, 23);
     retrieveButton.TabIndex = 1;
     retrieveButton.Anchor = AnchorStyles.Bottom | AnchorStyles.Right;
     retrieveButton.Text = "Retrieve";
     retrieveButton.Click += new System.EventHandler (this.retrieveButton_Click);
     this.Controls.Add (this.retrieveButton);
 }