public ItemSearchDialog(ItemSearchColumnProvider columnProvider, ItemSearchCellProvider cellProvider) { this.InitializeComponent(); this.InitializeDialogStyle(); this.columnProvider = columnProvider; this.cellProvider = cellProvider; runSearchBtn.Click += (sender, args) => InvokeCustom(RunSearch); newSearchBtn.Click += (sender, args) => InvokeCustom(ClearSearch); getPreviousPage.Click += (sender, args) => InvokeCustom(PreviousPage); getNextPage.Click += (sender, args) => InvokeCustom(NextPage); cancelButton.Click += (sender, args) => InvokeCustom(Cancel); okButton.Click += (sender, args) => InvokeCustom(Ok); itemTypeBox.SelectedIndexChanged += (sender, args) => InvokeCustom <ItemTypeItem>(ItemTypeChanged, (ItemTypeItem)itemTypeBox.SelectedItem); savedSearchesBox.SelectedIndexChanged += (sender, args) => InvokeCustom <SavedSearch>(SavedSearchChanged, (SavedSearch)savedSearchesBox.SelectedItem); tbPageSize.TextChanged += TbPageSize_TextChanged; partsGrid.parentDialog = this; partsGrid.CellValueChanged += (sender, args) => this.InvokeCustom <int, string>(SearchValueChanged, args.ColumnIndex, partsGrid[args.ColumnIndex, args.RowIndex].Value?.ToString()); partsGrid.CellMouseDoubleClick += (sender, args) => { if (args.RowIndex > 0) { InvokeCustom(Ok); } }; partsGrid.CurrentCellDirtyStateChanged += (sender, args) => { if (partsGrid.IsCurrentCellDirty) { partsGrid.CommitEdit(DataGridViewDataErrorContexts.Commit); } }; partsGrid.ColumnHeaderMouseClick += PartsGrid_ColumnHeaderMouseClick; partsGrid.SelectionChanged += (sender, args) => { if (partsGrid.SelectedRows.Count > 0) { var idList = new List <string>(); foreach (DataGridViewRow item in partsGrid.SelectedRows) { idList.Add(item.Cells["id"].Value?.ToString()); } InvokeCustom(SelectedItemChanged, idList); } if (partsGrid.CurrentRow != null && partsGrid.CurrentRow.Index > 0) { okButton.Enabled = true; } else { okButton.Enabled = false; } }; }
public ItemSearchPresenter GetItemSearchPresenter(ISearcher searcher) { var itemSearchColumnProvider = new ItemSearchColumnProvider(); var itemSearchCellProvider = new ItemSearchCellProvider(); var dialog = new ItemSearchDialog(itemSearchColumnProvider, itemSearchCellProvider); var presenter = new ItemSearchPresenter(dialog, searcher); return(presenter); }