Пример #1
0
        // Загрузка/Обновление данных из БД
        void LoadAllData()
        {
            DataList_CarBrand.exFill("CarBrand");
            DataList_CarModel.exFill("CarModel", Base.CustomQueries["CarModelFill"]);
            DataList_Cars.exFill("Cars", Base.CustomQueries["CarsFill"]);
            DataList_CarType.exFill("CarType");
            DataList_Drivers.exFill("Drivers");
            DataList_Organizations.exFill("Organizations");
            DataList_Staff.exFill("Staff", Base.CustomQueries["StaffFill"]);
            DataList_StaffPosition.exFill("StaffPosition");
            SetColumnHeaders();

            void SetColumnHeaders()
            {
                // [STEP: 1] - Перебирает каждую вкладку в TabControl
                foreach (TabPage p in TabMain.TabPages)
                {
                    // [STEP: 2] - Перебирает каждый DataGridView в текущей вкладке(но он всего один)
                    foreach (DataGridView grid in p.Controls.OfType <DataGridView>())
                    {
                        // [STEP: 3] - Получение списка заголовков по ключу(наименование DataGrid)
                        grid.CellDoubleClick += Grid_CellDoubleClick;;
                        grid.CellClick       += Grid_CellClick;;
                        List <string> lst = Base.ColumnHeaders[grid.Name];
                        for (int i = 0; i < grid.ColumnCount; i++)
                        {
                            grid.Columns[i].HeaderText = lst[i];
                        }
                    }
                }
            }
        }
Пример #2
0
        // Обновление конкретной таблицы
        void UpdateData(int rowIndex = -1, bool delete = false, bool multirow = false)
        {
            DataGridView grid = (DataGridView)TabMain.SelectedTab.Controls[0];             // Выбираем DataGridView в TabPage. NOTE: Controls[0], потому, что DataGridView единственный контрол в TabPage

            switch (TabMain.SelectedTab.Name)
            {
            case "FPage_CarBrand":                  DataList_CarBrand.exFill("CarBrand");                                                                                                                                                   break;

            case "FPage_CarModel":                  DataList_CarModel.exFill("CarModel", Base.CustomQueries["CarModelFill"]); break;

            case "FPage_Cars":                                      DataList_Cars.exFill("Cars", Base.CustomQueries["CarsFill"]);                                                   break;

            case "FPage_CarType":                           DataList_CarType.exFill("CarType");                                                                                                                                                             break;

            case "FPage_Drivers":                           DataList_Drivers.exFill("Drivers");                                                                                                                                                             break;

            case "FPage_Organizations": DataList_Organizations.exFill("Organizations");                                                                                                             break;

            case "FPage_Staff":                                     DataList_Staff.exFill("Staff", Base.CustomQueries["StaffFill"]);                                        break;

            case "FPage_StaffPosition": DataList_StaffPosition.exFill("StaffPosition");                                                                                                             break;
            }
            #region Выделение последней выделенной строки
            if (rowIndex != -1 && delete == false && multirow == false)
            {
                grid.ClearSelection();
                grid.CurrentCell = grid[1, rowIndex];
                grid.ClearSelection();
                grid[1, rowIndex].Selected = true;
            }
            else if (delete == true && multirow == false)
            {
                if (grid.RowCount > 0)
                {
                    int lastRow = grid.Rows.Count;
                    if (rowIndex == lastRow)
                    {
                        grid.ClearSelection();
                        grid.CurrentCell = grid[1, grid.Rows.Count - 1];
                        grid.ClearSelection();
                        grid[1, grid.Rows.Count - 1].Selected = true;
                    }
                    else
                    {
                        grid.ClearSelection();
                        grid.CurrentCell = grid[1, rowIndex];
                        grid.ClearSelection();
                        grid[1, rowIndex].Selected = true;
                    }
                }
            }
            else if (delete == true && multirow == true)
            {
                if (grid.RowCount > 0)
                {
                    grid.ClearSelection();
                    grid.CurrentCell = grid[1, 0];
                    grid.ClearSelection();
                    grid[1, 0].Selected = true;
                }
            }
            else
            {
                grid.ClearSelection();
                grid.CurrentCell = grid[1, grid.Rows.Count - 1];
                grid.ClearSelection();
                grid[1, grid.Rows.Count - 1].Selected = true;
            }
            #endregion
        }