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(); }
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; } }
private void ProductsForm_Load(object sender, System.EventArgs e) { Utils.OnFormLoad(this); AddMappingName(this.colProductCode); AddMappingName(this.colArticul); LoadData(); UpdateControls(); DataGridUtils.SelectCurRow(dataGrid); }
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; }
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("Проверьте правильность вводимых данных!"); } }
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; } }
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; } } }
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("Проверьте правильность вводимых данных!"); } }
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("Проверьте правильность вводимых данных!"); } }
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("Проверьте правильность введенных данных"); } }
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 мм)"); } }
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; } }
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; } }
/// <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; } }
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; } }
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(); }
public static List <O> ToList <O>(this DataGridView dataGridView, GridRowSelected selected = default(GridRowSelected)) where O : new() { return(DataGridUtils.ToList <O>(dataGridView, selected)); }
private void sortCarriages_btn_Click(object sender, EventArgs e) { train.ComfortSort(); DataGridUtils.CarriageListToGrid(dataGrid, train.CarriagesConnected); }
private void showCarriageList_btn_Click(object sender, EventArgs e) { DataGridUtils.CarriageListToGrid(dataGrid, train.CarriagesConnected); }
private void MainWindow_Load(object sender, EventArgs e) { DataGridUtils.InitGridForArr(dataGrid, 50, false, true, true, false, false); }