Exemple #1
0
        //検索ボタン
        private void m_select_btn_Click(object sender, EventArgs e)
        {
            m_templetelist.Clear();
            DISP_dataSet dset = new DISP_dataSet();
            Dictionary <string, string> param_dict = new Dictionary <string, string>();
            Class_Detaget dg = new Class_Detaget();

            if (m_selecttext.Text != "")
            {
                if (this.m_selectCombo.SelectedIndex.ToString() != "")
                {
                    switch (this.m_selectCombo.SelectedIndex)
                    {
                    //テンプレート通番
                    case 0:
                        param_dict["templeteno"] = m_selecttext.Text;
                        break;

                    //テンプレート種別
                    case 1:
                        if (m_selecttext.Text == "インシデント")
                        {
                            param_dict["templetetype"] = "1";
                        }
                        else if (m_selecttext.Text.IndexOf("タスク") > -1 || m_selecttext.Text.IndexOf("計画作業") > -1)
                        {
                            param_dict["templetetype"] = "2";
                        }
                        break;

                    //テンプレート名
                    case 2:
                        param_dict["templetename"] = m_selecttext.Text;
                        break;

                    //カスタマ名
                    case 3:
                        param_dict["username"] = m_selecttext.Text;
                        break;


                    case 4:
                        param_dict["title"] = m_selecttext.Text;
                        break;

                    //本文
                    case 5:
                        param_dict["text"] = m_selecttext.Text;
                        break;

                    //更新日時
                    case 6:
                        DateTime dt;
                        String   str = m_selecttext.Text;

                        //入力された日付の形式の確認
                        if (DateTime.TryParse(str, out dt))
                        {
                            param_dict["chk_date"] = str;
                        }
                        else
                        {
                            MessageBox.Show("日付の形式が正しくありません。", "拠点検索");
                            return;
                        }
                        break;

                    //更新者
                    case 7:
                        param_dict["chk_name_id"] = m_selecttext.Text;
                        break;

                    default:
                        break;
                    }
                }
            }

            //まず件数を取得する
            Int64 count = dg.getTempleteListCount("", param_dict, con);

            if (MessageBox.Show(count.ToString() + "件ヒットしました。表示しますか?", "ホスト", MessageBoxButtons.YesNo, MessageBoxIcon.Question) == DialogResult.No)
            {
                return;
            }

            //テンプレート一覧を取得する
            templList = dg.selectTempleteList("", param_dict, con);

            this.splitContainer1.SplitterDistance = 210;

            this.m_templetelist.VirtualMode = true;
            // 1行全体選択
            this.m_templetelist.FullRowSelect = true;
            this.m_templetelist.HideSelection = false;
            this.m_templetelist.HeaderStyle   = ColumnHeaderStyle.Clickable;
            //Hook up handlers for VirtualMode events.
            this.m_templetelist.RetrieveVirtualItem += new RetrieveVirtualItemEventHandler(incident_RetrieveVirtualItem);
            this.m_templetelist.AutoResizeColumns(ColumnHeaderAutoResizeStyle.HeaderSize);
            this.m_templetelist.Scrollable = true;

            this.m_templetelist.Columns.Insert(0, "テンプレート通番", 30, HorizontalAlignment.Left);
            this.m_templetelist.Columns.Insert(1, "テンプレート種別", 50, HorizontalAlignment.Left);
            this.m_templetelist.Columns.Insert(2, "テンプレート名", 300, HorizontalAlignment.Left);
            this.m_templetelist.Columns.Insert(3, "カスタマ通番", 50, HorizontalAlignment.Left);
            this.m_templetelist.Columns.Insert(4, "タイトル(インシデントのみ)", 80, HorizontalAlignment.Left);
            this.m_templetelist.Columns.Insert(5, "テンプレート内容", 300, HorizontalAlignment.Left);
            this.m_templetelist.Columns.Insert(6, "更新日時", 110, HorizontalAlignment.Left);
            this.m_templetelist.Columns.Insert(7, "更新者", 50, HorizontalAlignment.Left);

            //リストビューを初期化する
            templ_list = new DataTable("table1");
            templ_list.Columns.Add("テンプレート通番", Type.GetType("System.Int32"));
            templ_list.Columns.Add("テンプレート種別", Type.GetType("System.String"));
            templ_list.Columns.Add("テンプレート名", Type.GetType("System.String"));
            templ_list.Columns.Add("カスタマ通番", Type.GetType("System.String"));
            templ_list.Columns.Add("タイトル(インシデントのみ)", Type.GetType("System.String"));
            templ_list.Columns.Add("テンプレート内容", Type.GetType("System.String"));
            templ_list.Columns.Add("更新日時", Type.GetType("System.String"));
            templ_list.Columns.Add("更新者", Type.GetType("System.String"));

            //リストに表示
            if (templList != null)
            {
                m_templetelist.BeginUpdate();
                foreach (templeteDS s_ds in templList)
                {
                    DataRow urow = templ_list.NewRow();
                    urow["テンプレート通番"] = s_ds.templeteno;

                    //1:インシデント 2:計画作業
                    string typestr = "";
                    if (s_ds.templetetype == "1")
                    {
                        typestr = "インシデント";
                    }
                    else if (s_ds.templetetype == "2")
                    {
                        typestr = "タスク(インシデントタスク・計画作業)";
                    }

                    urow["テンプレート種別"] = typestr;
                    urow["テンプレート名"]  = s_ds.templetename;
                    urow["カスタマ通番"]   = s_ds.userno;

                    urow["テンプレート内容"]       = s_ds.text;
                    urow["タイトル(インシデントのみ)"] = s_ds.title;

                    urow["更新日時"] = s_ds.chk_date;
                    urow["更新者"]  = s_ds.chk_name_id;

                    templ_list.Rows.Add(urow);
                }
                this.m_templetelist.VirtualListSize = templ_list.Rows.Count;
                this.m_templetelist.AutoResizeColumns(ColumnHeaderAutoResizeStyle.HeaderSize);
                m_templetelist.EndUpdate();
            }
        }