Пример #1
0
        public Form_TaskManager(User loginUser)
        {
            #region 画面共通

            InitializeComponent();
            StartPosition = FormStartPosition.CenterScreen;

            // 備忘録:ユーザーNoの設定は事前に行っておく。
            //         コンボボックスのデータ検索時に「ユーザーNo」を利用するため。
            TextBox_UserNo.Text = loginUser._userNo;

            #region コンボボックス設定処理

            // 備忘録:コンボボックスのデータ検索時に「ユーザーNo」が必要であるため、
            //         画面のユーザーNoテキストボックスに値を入れてから検索する。
            // 備忘録:タスク検索処理はコンボボックスに値設定後に実施する。
            //         検索条件に「全て」(00)を利用するため。

            ComboData comboData = new ComboData();

            // 備忘録:タスク検索系コンボボックス設定
            //         「全て」コード(01)を含んで検索設定を行う。
            //       ※「全て」コード(01)はタスク検索時に条件なしで利用するため。

            // 種別(タスク一覧検索)
            ComboBox_KindName_SelectTaskList.DataSource    = comboData.TaskKindCodeTable_Select(TextBox_UserNo.Text);
            ComboBox_KindName_SelectTaskList.DisplayMember = Constants.TaskKind.TASK_KIND_NAME;
            ComboBox_KindName_SelectTaskList.ValueMember   = Constants.TaskKind.TASK_KIND_CODE;

            // ステータス(タスク一覧検索)
            ComboBox_StatusName_SelectTaskList.DataSource    = comboData.TaskStatusCodeTable_Select();
            ComboBox_StatusName_SelectTaskList.DisplayMember = Constants.TaskStatus.TASK_STATUS_NAME;
            ComboBox_StatusName_SelectTaskList.ValueMember   = Constants.TaskStatus.TASK_STATUS_CODE;

            // グループ(タスク一覧検索)
            ComboBox_GroupName_SelectTaskList.DataSource    = comboData.TaskGroupCodeTable_Select(TextBox_UserNo.Text);
            ComboBox_GroupName_SelectTaskList.DisplayMember = Constants.TaskGroup.TASK_GROUP_NAME;
            ComboBox_GroupName_SelectTaskList.ValueMember   = Constants.TaskGroup.TASK_GROUP_CODE;

            // 種別(タスク予実推移)
            ComboBox_KindName_SelectTaskChart.DataSource    = comboData.TaskKindCodeTable_Select(TextBox_UserNo.Text);
            ComboBox_KindName_SelectTaskChart.DisplayMember = Constants.TaskKind.TASK_KIND_NAME;
            ComboBox_KindName_SelectTaskChart.ValueMember   = Constants.TaskKind.TASK_KIND_CODE;

            // グループ(タスク予実推移)
            ComboBox_GroupName_SelectTaskChart.DataSource    = comboData.TaskGroupCodeTable_Select(TextBox_UserNo.Text);
            ComboBox_GroupName_SelectTaskChart.DisplayMember = Constants.TaskGroup.TASK_GROUP_NAME;
            ComboBox_GroupName_SelectTaskChart.ValueMember   = Constants.TaskGroup.TASK_GROUP_CODE;

            // 備忘録:タスク追加処理のコンボボックスについては、
            //         「全て」コード(01)は表示してはいけないため、別メソッドを利用する。
            //       ※「全て」コード(01)はタスク検索時に条件なしで利用するため。

            // 種別コード(タスク追加)
            ComboBox_KindName_Add.DataSource    = comboData.TaskKindCodeTable(TextBox_UserNo.Text);
            ComboBox_KindName_Add.DisplayMember = Constants.TaskKind.TASK_KIND_NAME;
            ComboBox_KindName_Add.ValueMember   = Constants.TaskKind.TASK_KIND_CODE;

            // グループコード(タスク追加)
            ComboBox_GroupName_Add.DataSource    = comboData.TaskGroupCodeTable(TextBox_UserNo.Text);
            ComboBox_GroupName_Add.DisplayMember = Constants.TaskGroup.TASK_GROUP_NAME;
            ComboBox_GroupName_Add.ValueMember   = Constants.TaskGroup.TASK_GROUP_CODE;

            // コンボボックスは手入力不可とする。選択のみ。
            ComboBox_KindName_SelectTaskList.DropDownStyle   = ComboBoxStyle.DropDownList;
            ComboBox_StatusName_SelectTaskList.DropDownStyle = ComboBoxStyle.DropDownList;
            ComboBox_GroupName_SelectTaskList.DropDownStyle  = ComboBoxStyle.DropDownList;
            ComboBox_KindName_SelectTaskChart.DropDownStyle  = ComboBoxStyle.DropDownList;
            ComboBox_GroupName_SelectTaskChart.DropDownStyle = ComboBoxStyle.DropDownList;
            ComboBox_KindName_Add.DropDownStyle  = ComboBoxStyle.DropDownList;
            ComboBox_GroupName_Add.DropDownStyle = ComboBoxStyle.DropDownList;

            #endregion

            #endregion

            #region タスク管理画面

            // ユーザー情報を設定
            // タスク検索~更新時にユーザーNoが必要なため。
            // TODO:ユーザー情報テキストボックスを見易くする。
            TextBox_UserId.Text        = loginUser._userId;
            TextBox_UserName.Text      = loginUser._userName;
            TextBox_UserNo.Enabled     = false;
            TextBox_UserNo.BackColor   = Color.White;
            TextBox_UserId.Enabled     = false;
            TextBox_UserId.BackColor   = Color.White;
            TextBox_UserName.Enabled   = false;
            TextBox_UserName.BackColor = Color.White;

            // タスク追加の「期限日」は本日日付を入れておく。
            TextBox_TodoDay_Add.Text = DateTime.Today.ToString("yyyy/MM/dd");

            // 非表示項目の設定。利用者に関係ないテキストボックスは非表示。
            // 非表示対象はコンボボックスのコード保持がメイン。
            TextBox_KindCode_Select.Visible   = false;
            TextBox_StatusCode_Select.Visible = false;
            TextBox_GroupCode_Select.Visible  = false;
            TextBox_KindCode_Add.Visible      = false;
            TextBox_GroupCode_Add.Visible     = false;
            TextBox_UserNo.Visible            = false;

            #region タスク一覧リストビュー
            this.ListView_Task.FullRowSelect    = true;
            this.ListView_Task.Columns[9].Width = 0;

            // タスク一覧検索のユーザー毎初期検索条件を取得する。
            this.TaskSelectFlg_Set();

            // タスク一覧を検索し画面表示する。
            this.TaskListSelectForListView();
            #endregion

            #endregion

            #region タスク予実推移画面

            // 非表示項目の設定。利用者に関係ないテキストボックスは非表示。
            // 非表示対象はコンボボックスのコード保持がメイン。
            TextBox_KindCode_SelectTaskChart.Visible  = false;
            TextBox_GroupCode_SelectTaskChart.Visible = false;
            CheckBox_Week_SelectTaskChart.Checked     = true;

            // タスク予実推移タブ
            Chart_TaskBudget.Series.Clear();

            // 外枠の設定
            Chart_TaskBudget.BorderColor     = Color.SlateGray;
            Chart_TaskBudget.BorderDashStyle = ChartDashStyle.Solid;
            Chart_TaskBudget.BorderWidth     = 1;

            // グラフタイトルの変更
            Chart_TaskBudget.Titles.Add("タスク予実推移");
            Chart_TaskBudget.Titles[0].Alignment = ContentAlignment.TopCenter;
            Chart_TaskBudget.Titles[0].Font      = new Font("MS UI Gothic", 12, FontStyle.Regular | FontStyle.Underline);

            #endregion
        }