Esempio n. 1
0
        // Получение ID строки и краткой информации
        void GetCurrentRowInfo()
        {
            var grid = (DataGridView)TabMain.SelectedTab.Controls[0];

            try
            {
                ID        = grid.CurrentRow.Cells[0].Value.exToInt();
                ROW_INDEX = grid.CurrentRow.Index;
            }
            catch { /* Костыльная заглушка */ }

            // Если панель не свернута, то ищем информацию
            if (!FormSplit.Panel2Collapsed)
            {
                LabelTrackingDataE.Text = LabelEstimate.Text = "";

                // Получаем инфу если выделена одна стрка
                if (grid.SelectedRows.Count == 1)
                {
                    try
                    {
                        switch (TabMain.SelectedTab.Name)
                        {
                        case "FPage_Estimate":
                            int listID_E = DataCommon.GetFieldValue(ID, "Estimate_tracklist", "Estimate").exToInt();
                            LabelEstimate.Text      = GetEstimate(ID);
                            LabelTrackingDataE.Text = GetTrackinglist(listID_E);
                            break;

                        case "FPage_Trackinglists":
                            LabelTrackingDataE.Text = GetTrackinglist(ID);
                            break;

                        default:
                            /*string gridId = TabMain.SelectedTab.Name.Split('_')[2];
                             * var CurrentGrid = (DataGridView)TabMain.SelectedTab.Controls["DataList_Organization_" + gridId];*/

                            int listID_DEF = DataCommon.GetFieldValue(ID, "Estimate_tracklist", "Estimate").exToInt();
                            LabelEstimate.Text      = GetEstimate(ID);
                            LabelTrackingDataE.Text = GetTrackinglist(listID_DEF);
                            break;
                        }
                    }
                    catch { /* Костыльная заглушка */ }
                }
            }

            #region Внутренние методы
            string GetEstimate(int ID)
            {
                // Возвращаемая строка
                string Result = "";

                // Получение данных из БД
                string[] info = Estimate.GetGeneralData(ID);

                // Преобразование строки
                for (int i = 0; i < info.Length; i++)
                {
                    Result += info[i] + "\n";
                }

                return(Result);
            }

            string GetTrackinglist(int ID)
            {
                // Возвращаемая строка
                string Result = "";

                // Получение данных из БД
                string[] info = Trackinglists.GetGeneralData(ID);

                // Преобразование строки
                for (int i = 0; i < info.Length; i++)
                {
                    Result += info[i] + "\n";
                }

                return(Result);
            }

            #endregion
        }