Example #1
0
        void SortGrid(string colName)
        {
            DataRow dr = DataGridUtils.CurrentDataRow(this.dataGrid);

            dataTable.DefaultView.Sort = colName;
            DataGridUtils.SelectRow(dataGrid, dr);
        }
        void Sort(ToolBarButton tbb)
        {
            string sort = "";

            if (tbb == this.tbbSortByDate)
            {
                sort = "Date";
            }
            else if (tbb == this.tbbSortByCar)
            {
                sort = "TruckNumber";
            }
            else if (tbb == this.tbbSortByAgent)
            {
                sort = "ContractorName";
            }
            else
            {
                return;
            }

            this.dtDocuments.DefaultView.Sort = sort;
            this.tbbSortByDate.Pushed         = false;
            this.tbbSortByCar.Pushed          = false;
            this.tbbSortByAgent.Pushed        = false;
            tbb.Pushed = true;
            DataGridUtils.SelectCurRow(dataGrid);
            UpdateInfo();
        }
Example #3
0
        private void DeselectSelectedTargetRow(object sender, MouseButtonEventArgs e)
        {
            var cell = DataGridUtils.FindAncestorControl <DataGridCell>(e.OriginalSource as DependencyObject);

            if (cell != null && cell.IsSelected)
            {
                var grid = DataGridUtils.FindAncestorControl <DataGrid>(cell);
                if (grid != null)
                {
                    switch (grid.SelectionUnit)
                    {
                    case DataGridSelectionUnit.Cell:
                    case DataGridSelectionUnit.CellOrRowHeader:
                        cell.IsSelected = false;
                        break;

                    case DataGridSelectionUnit.FullRow:
                        grid.UnselectAllCells();
                        break;

                    default:
                        break;
                    }
                }
            }
        }
        private void dataGridSheet_PreviewDragOver(object sender, DragEventArgs e)
        {
            try
            {
                //define drop target && draw rectangle
                e.Effects = DragDropEffects.Copy;
                if (copyInfo.RowSourceStartIndex != -1 && copyInfo.ColumnSourceStartIndex != -1)
                {
                    DataGridCell cell = DataGridUtils.FindVisualParent <DataGridCell>(e.OriginalSource as UIElement);
                    if (null != cell)
                    {
                        DataGridRow row = DataGridUtils.FindVisualParent <DataGridRow>(cell);
                        if (null != row)
                        {
                            int rowIndex = row.GetIndex();
                            if (copyInfo.RowSourceEndIndex <= rowIndex)
                            {
                                copyInfo.RowTargetEndIndex = rowIndex;
                            }

                            //visualize cell update
                            DataGridUtils.PaintDragCells(dataGridSheet, copyInfo, true);

                            tempDragRows = tempDragRows.OrderBy(o => o).ToList();
                            for (int i = tempDragRows.Count - 1; i > -1; i--)
                            {
                                int index = tempDragRows[i];
                                if (index > rowIndex)
                                {
                                    this.RvtSheetData.Sheets.RemoveAt(index);
                                    tempDragRows.RemoveAt(i);
                                }
                            }
                        }
                    }
                    else
                    {
                        //add cells for drop target
                        DataGridColumnHeader columnHeader = DataGridUtils.FindVisualParent <DataGridColumnHeader>(e.OriginalSource as UIElement);
                        if (null != columnHeader)
                        {
                            return;
                        }

                        Rect  gridRect = VisualTreeHelper.GetDescendantBounds(dataGridSheet);
                        Point point    = e.GetPosition(dataGridSheet);
                        if (gridRect.Contains(point))
                        {
                            this.RvtSheetData.Sheets.Add(new RevitSheet());
                            tempDragRows.Add(rvtSheetData.Sheets.Count - 1);
                        }
                    }
                }
            }
            catch (Exception ex)
            {
                string message = ex.Message;
            }
        }
Example #5
0
 private void ProductsForm_Load(object sender, System.EventArgs e)
 {
     Utils.OnFormLoad(this);
     AddMappingName(this.colProductCode);
     AddMappingName(this.colArticul);
     LoadData();
     UpdateControls();
     DataGridUtils.SelectCurRow(dataGrid);
 }
Example #6
0
 private void dgProducts_CurrentCellChanged(object sender, System.EventArgs e)
 {
     DataGridUtils.SelectCurRow(this.dataGrid);
     if (!keepSearch)
     {
         ClearSearch();
     }
     UpdateStatus();
 }
    protected override IControl GenerateElement(DataGridCell cell, object dataItem)
    {
        cell.MaxHeight = 100;         // don't let them have more than a few lines each

        TextBlock textBlock = CreateTextBlock();

        //TextBlock textBlock = (TextBlock)base.GenerateElement(cell, dataItem);
        textBlock.TextAlignment = DataGridUtils.GetTextAlignment(DataColumn.DataType);
        AddTextBlockContextMenu(textBlock);
        return(textBlock);
    }
        private void ProductsForm_Load(object sender, System.EventArgs e)
        {
            Utils.OnFormLoad(this);
            LoadData();
            UpdateControls();
            DataGridUtils.SelectCurRow(dataGrid);
//			this.nudCount.KeyDown+=new KeyEventHandler(nudCount_KeyDown);
//			new NudFix(nudCount,btnBackspace,btnClear);
//			this.lblDecimal.Visible=hasDecimals;
//			this.tbDecimal.Visible=hasDecimals;
        }
Example #9
0
 private void deleteCarriage_btn_Click(object sender, EventArgs e)
 {
     try
     {
         int carriageNumber = int.Parse(numCarriageToDelete_txt.Text);
         train.DisconnectCarriage(carriageNumber);
         DataGridUtils.CarriageListToGrid(dataGrid, train.CarriagesConnected);
         numCarriageToDelete_txt.Clear();
     }
     catch (Exception ex)
     {
         Messages.ShowError("Проверьте правильность вводимых данных!");
     }
 }
Example #10
0
        private static void __OnSaveLayoutChanged(DependencyObject d, DependencyPropertyChangedEventArgs e)
        {
            var sender = d as LeibitDataGrid;

            if ((bool)e.NewValue)
            {
                if (sender.LayoutKey != null)
                {
                    DataGridUtils.SaveLayout(sender.dataGrid, sender.Collection, sender.LayoutKey);
                }

                sender.SaveLayout = false;
            }
        }
Example #11
0
        void UpdateStatus()
        {
            DataRow dr = DataGridUtils.CurrentDataRow(dataGrid);

            if (dr != null)
            {
                lblRec.Text = string.Format("{{{0}/{1}}} {2}", dr["ProductCode"], dr["Articul"], dr["ProductName"]);
            }
            else
            {
                lblRec.Text   = "";
                lblGroup.Text = "";
            }
        }
        /// <summary>
        /// When mouse click on a row, toggle display the row detail.
        /// if the mouse is clikcing on detail panel, does not collapse it.
        /// </summary>
        private void dataGrid_PreviewMouseDown(object sender, MouseButtonEventArgs e)
        {
            var         dependencyObj = e.OriginalSource as DependencyObject;
            DataGridRow row           = DataGridUtils.FindAncestorControl <DataGridRow>(dependencyObj);

            if (row != null)
            {
                if (null == DataGridUtils.FindAncestorControl <DataGridDetailsPresenter>(dependencyObj))
                {
                    row.DetailsVisibility =
                        row.DetailsVisibility == Visibility.Visible ? Visibility.Collapsed : Visibility.Visible;
                }
            }
        }
Example #13
0
 private void getAppropiateCarriages_btn_Click(object sender, EventArgs e)
 {
     try
     {
         int minPassengers = int.Parse(minPassDiapason_txt.Text);
         int maxPassengers = int.Parse(maxPassDiapason_txt.Text);
         DataGridUtils.CarriageListToGrid(dataGrid, train.FindAppropiateCarriages(minPassengers, maxPassengers));
         minPassDiapason_txt.Clear();
         maxPassDiapason_txt.Clear();
     }
     catch (Exception ex)
     {
         Messages.ShowError("Проверьте правильность вводимых данных!");
     }
 }
Example #14
0
        private void addCarriage_btn_Click(object sender, EventArgs e)
        {
            try
            {
                int carriageNumber = int.Parse(carrNumber_txt.Text);
                int passNumber     = int.Parse(passNum_txt.Text);
                int luggAmount     = int.Parse(luggAmount_txt.Text);
                int comfort        = int.Parse(comfortLvl_txt.Text);
                if (comfort > 0 && comfort < 5)
                {
                    switch (comfort)
                    {
                    case 1:
                        EconomCarriage economCarriage = new EconomCarriage(carriageNumber, passNumber, luggAmount, comfort);
                        train.CarriagesConnected.Add(economCarriage);
                        break;

                    case 2:
                        MiddleCarriage middleCarriage = new MiddleCarriage(carriageNumber, passNumber, luggAmount, comfort);
                        train.CarriagesConnected.Add(middleCarriage);
                        break;

                    case 3:
                        ExpensiveCarriage expensiveCarriage = new ExpensiveCarriage(carriageNumber, passNumber, luggAmount, comfort);
                        train.CarriagesConnected.Add(expensiveCarriage);
                        break;

                    case 4:
                        LuxuryCarriage luxuryCarriage = new LuxuryCarriage(carriageNumber, passNumber, luggAmount, comfort);
                        train.CarriagesConnected.Add(luxuryCarriage);
                        break;
                    }
                    DataGridUtils.CarriageListToGrid(dataGrid, train.CarriagesConnected);
                    carrNumber_txt.Clear();
                    passNum_txt.Clear();
                    luggAmount_txt.Clear();
                    comfortLvl_txt.Clear();
                }
                else
                {
                    Messages.ShowError("Неправильно задан уровень комфорта!");
                }
            }
            catch (Exception ex)
            {
                Messages.ShowError("Проверьте правильность вводимых данных!");
            }
        }
Example #15
0
 private void CreateGuitar_btn_Click(object sender, EventArgs e)
 {
     try
     {
         string           name             = inputName_txt.Text;
         int              price            = int.Parse(inputPrice_txt.Text);
         string           color            = inputColor_txt.Text;
         int              possibleLoudness = int.Parse(inputPossibleLoudness_txt.Text);
         IMusicInstrument guitar           = new ElectroGuitar(name, price, color, possibleLoudness);
         musicInstruments.Add(guitar);
         DataGridUtils.GuitarToGrid(dataGridView_dgv, musicInstruments);
     }
     catch (Exception ex)
     {
         Messages.ShowError("Проверьте правильность введенных данных");
     }
 }
Example #16
0
 private void CreateDrawingNotebook_btn_Click(object sender, EventArgs e)
 {
     try
     {
         Random    rnd                 = new Random();
         int       quality             = int.Parse(inputQuality_txt.Text);
         double    thickness           = double.Parse(inputThickness_txt.Text);
         int       sheetsNum           = int.Parse(inputSheetsNum_txt.Text);
         Countries countryManufacturer = (Countries)rnd.Next(0, 5);
         IPaper    drawingNotebook     = new NotebookForDrawing(quality, thickness, sheetsNum, countryManufacturer);
         papers.Add(drawingNotebook);
         DataGridUtils.NbForDrawingToGrid(dataGrid_dgv, papers);
     }
     catch (Exception)
     {
         MessagesExceptions.ShowError("Проверьте правильность введенных данных!(Качество может быть от 1 до 10; Толщина от 0.5 до 2 мм)");
     }
 }
Example #17
0
    private void Initialize()
    {
        Margin = new Thickness(5);

        if (!Column.FormatConverter.IsFormatted)
        {
            TextAlignment = DataGridUtils.GetTextAlignment(PropertyInfo.PropertyType);
        }

        if (Column.WordWrap)
        {
            TextWrapping = TextWrapping.Wrap;
        }
        else
        {
            VerticalAlignment = VerticalAlignment.Center;
        }
    }
        private void buttonAddItem_Click(object sender, RoutedEventArgs e)
        {
            try
            {
                if (null != comboBoxType.SelectedItem && null != comboBoxParameter.SelectedItem)
                {
                    ItemMap itemMap   = comboBoxType.SelectedItem as ItemMap;
                    string  parameter = comboBoxParameter.SelectedItem.ToString();

                    if (null != itemMap && !string.IsNullOrEmpty(parameter))
                    {
                        string sampleSourceName = "";
                        double suffix           = 0;
                        if (dataGridItem.Items.Count > 0)
                        {
                            RevitItemMapper lastItem = dataGridItem.Items[dataGridItem.Items.Count - 1] as RevitItemMapper;
                            sampleSourceName = lastItem.SourceValue.ToString();

                            if (DataGridUtils.GetSuffix(sampleSourceName, out suffix))
                            {
                                sampleSourceName = sampleSourceName.Replace(suffix.ToString(), (suffix + 1).ToString());
                            }
                            else
                            {
                                sampleSourceName += " " + (suffix + 1).ToString();
                            }
                        }

                        if (string.IsNullOrEmpty(sampleSourceName))
                        {
                            sampleSourceName = "New Item 1";
                        }

                        RevitItemMapper itemMapper = new RevitItemMapper(Guid.NewGuid(), itemMap.ItemMapType, parameter, sampleSourceName, "");
                        this.RvtSheetData.ItemMaps.Add(itemMapper);
                        bool dbUpdated = SheetDataWriter.ChangeReplaceItem(itemMapper, CommandType.INSERT);
                    }
                }
            }
            catch (Exception ex)
            {
                string message = ex.Message;
            }
        }
Example #19
0
        private void buttonDocument_Click(object sender, RoutedEventArgs e)
        {
            try
            {
                DataGridRow row = DataGridUtils.FindVisualParent <DataGridRow>(e.OriginalSource as UIElement);
                if (null != row)
                {
                    RevitRevision revision = row.Item as RevitRevision;
                    if (null != revision)
                    {
                        OpenFileDialog openFileDialog = new OpenFileDialog();
                        openFileDialog.Title  = "Open a Revision Document";
                        openFileDialog.Filter = "All files (*.*)|*.*";

                        if ((bool)openFileDialog.ShowDialog())
                        {
                            string fileName = openFileDialog.FileName;
                            if (File.Exists(fileName))
                            {
                                int index = rvtSheetData.Revisions.IndexOf(revision);
                                RevisionDocument revisionDoc = revision.Document;
                                revisionDoc.Path  = fileName;
                                revisionDoc.Title = System.IO.Path.GetFileName(fileName);
                                if (revisionDoc.Id == Guid.Empty)
                                {
                                    revisionDoc.Id = Guid.NewGuid();
                                    this.RvtSheetData.Revisions[index].Document.Id = revisionDoc.Id;
                                }
                                this.RvtSheetData.Revisions[index].Document.Path  = revisionDoc.Path;
                                this.RvtSheetData.Revisions[index].Document.Title = revisionDoc.Title;

                                bool databaseUpdated = SheetDataWriter.UpdateRevisionDocument(revision, revisionDoc);
                            }
                        }
                    }
                }
            }
            catch (Exception ex)
            {
                string message = ex.Message;
            }
        }
 private void dataGridSheet_MouseDown(object sender, MouseButtonEventArgs e)
 {
     try
     {
         //collect drag source
         copyInfo = new CellCopyInfo();
         DataGridCell cell = DataGridUtils.FindVisualParent <DataGridCell>(e.OriginalSource as UIElement);
         if (e.RightButton == MouseButtonState.Pressed && null != cell)
         {
             DataGridUtils.FindDragSource(dataGridSheet, dataGridSheet.SelectedCells, ref copyInfo);
             DataObject dataObject = new DataObject(copyInfo);
             tempDragRows = new List <int>();
             DragDrop.DoDragDrop(cell, dataObject, DragDropEffects.Copy);
         }
     }
     catch (Exception ex)
     {
         string message = ex.Message;
     }
 }
Example #21
0
        /// <summary>
        /// (1) When the button is clicked, skip toggling detail view action.
        /// (2) Sometimes button does not respond to click event. This method fixes the problem.
        /// </summary>
        private bool OriginFromSourceLink(object originalSource)
        {
            Debug.WriteLine($"Original source is {originalSource.ToString()}, type is {originalSource.GetType().Name}");
            if (originalSource is TextBlock)
            {
                var textBlock = originalSource as TextBlock;
                var button    = DataGridUtils.FindAncestorControl <Controls.IconButton>(originalSource as DependencyObject);
                if (button?.Name != "_sourceLinkButton")
                {
                    return(false);
                }
                if (button.Command != null && button.Command.CanExecute(null))
                {
                    button.Command.Execute(null);
                }
                return(true);
            }

            return(false);
        }
        private void dataGridSheet_PreviewDrop(object sender, DragEventArgs e)
        {
            try
            {
                //copy elements
                if (e.AllowedEffects == DragDropEffects.Copy)
                {
                    if (copyInfo.RowSourceStartIndex != -1 && copyInfo.ColumnSourceStartIndex != -1)
                    {
                        bool copied = DataGridUtils.CopyRowItems(dataGridSheet, copyInfo);
                    }
                }

                copyInfo = new CellCopyInfo();
                DataGridUtils.PaintDragCells(dataGridSheet, copyInfo, false);
            }
            catch (Exception ex)
            {
                string message = ex.Message;
            }
        }
Example #23
0
        private void menuItemUncheckSelected_Click(object sender, RoutedEventArgs e)
        {
            try
            {
                IList <DataGridCellInfo> selectedCells = dataGridMatrix.SelectedCells;
                foreach (DataGridCellInfo cell in selectedCells)
                {
                    FrameworkElement cellContent = cell.Column.GetCellContent(cell.Item);
                    DataGridCell     gridCell    = (DataGridCell)cellContent.Parent;

                    CheckBox checkBox = DataGridUtils.FindVisualChild <CheckBox>(gridCell);
                    if (null != checkBox)
                    {
                        checkBox.IsChecked = false;
                    }
                }
            }
            catch (Exception ex)
            {
                string message = ex.Message;
            }
        }
Example #24
0
 void SearchRecord()
 {
     if (lblSearch.Text.Length > 0)
     {
         string colName = this.colProductName.MappingName;
         if (this.tbbCode.Pushed)
         {
             colName = this.colProductCode.MappingName;
         }
         else if (this.tbbArticul.Pushed)
         {
             colName = this.colArticul.MappingName;
         }
         string    order = colName;
         string    cond  = string.Format("{0} like '{1}*'", colName, lblSearch.Text);
         DataRow[] rows  = dataTable.Select(cond, order);
         if (rows.Length > 0)
         {
             keepSearch = true;
             DataGridUtils.SelectRow(dataGrid, rows[0]);
             keepSearch = false;
         }
     }
 }
        void UpdateDocuments()
        {
            int docId = this.CurrentDocumentId;

            Document.UpdateDocuments(this.dtDocumentsUpdated);
            bool newDoc, urgent;

            if (AreDocumentsChanged(out newDoc, out urgent))
            {
                bool initialLoad = this.dtDocuments == null;
                if (initialLoad)
                {
                    dtDocuments = DataTableUtils.Clone(dtDocumentsUpdated);
                    Sort(this.tbbSortByDate);
                }
                else
                {
                    DataTableUtils.CopyRows(dtDocumentsUpdated, dtDocuments);
                }
                dataGrid.DataSource = this.dtDocuments;
                CurrentDocumentId   = docId;
                DataGridUtils.SelectCurRow(dataGrid);
                UpdateInfo();
                UpdateControls();
                if (!initialLoad)
                {
                    if (urgent)
                    {
                        Utils.MessageBoxExcl("Urgent request received.");
                        //					Microsoft.VisualBasic.Interaction.Beep();
                    }
                    else if (newDoc)
                    {
                        Utils.MessageBoxExcl("New request received.");
                    }
                    if (App.ScanHandler != null)
                    {
                        DocumentForm form = App.ScanHandler as DocumentForm;
                        if (form != null)
                        {
                            DocumentState docStateId = (DocumentState)form.Document.DocumentStateId;
                            if (docStateId == DocumentState.Discarded || docStateId == DocumentState.Removed)
                            {
                                int  openedDocId  = form.Document.DocumentId;
                                bool hasOpenedDoc = false;
                                foreach (DataRow dr in dtDocuments.Rows)
                                {
                                    Document doc = new Document(dr);
                                    if (doc.DocumentId == openedDocId)
                                    {
                                        hasOpenedDoc = true;
                                        break;
                                    }
                                }
                                if (!hasOpenedDoc)
                                {
                                    Utils.MessageBoxExcl("Request canceled. Please close the form.");
                                    form.Discard();
                                }
                            }
                        }
                    }
                }
            }
        }
 private void dataGrid_CurrentCellChanged(object sender, System.EventArgs e)
 {
     DataGridUtils.SelectCurRow(dataGrid);
     UpdateInfo();
 }
Example #27
0
 public static List <O> ToList <O>(this DataGridView dataGridView, GridRowSelected selected = default(GridRowSelected)) where O : new()
 {
     return(DataGridUtils.ToList <O>(dataGridView, selected));
 }
Example #28
0
 private void sortCarriages_btn_Click(object sender, EventArgs e)
 {
     train.ComfortSort();
     DataGridUtils.CarriageListToGrid(dataGrid, train.CarriagesConnected);
 }
Example #29
0
 private void showCarriageList_btn_Click(object sender, EventArgs e)
 {
     DataGridUtils.CarriageListToGrid(dataGrid, train.CarriagesConnected);
 }
Example #30
0
 private void MainWindow_Load(object sender, EventArgs e)
 {
     DataGridUtils.InitGridForArr(dataGrid, 50, false, true, true, false, false);
 }